info: title: Tradeshift External API version: 1.0.0 openapi: 3.0.0 paths: /rest/external/accesslist/operation/{operationId}/type/{typeId}/object/{objectId}: parameters: - name: operationId in: path required: true schema: type: integer description: Operation id to be checked - name: typeId in: path required: true schema: type: integer description: Object's type - name: objectId in: path required: true schema: type: string description: "Object id to be checked. \nCould be any type of objects Tradeshift supports (e.g. documentId, dispatchId,\ \ conversationId etc.)\n" get: responses: '204': description: User has access to the provided details '401': description: User do not have access to the provided details content: application/json: example: ErrorCode: Unauthorized Message: The user was not authorized to perform the operation: 37617bf8-4e04-41f2-bd27-9ad9153419ee/Operation(id=15, name=ADMIN_ID) on 35dea17e-fdd7-46d9-88c8-c5c632ebf92b ErrorDetail: - Key: userUuid Value: 37617bf8-4e04-41f2-bd27-9ad9153419ee - Key: securityGroupUuid Value: 35dea17e-fdd7-46d9-88c8-c5c632ebf92b - Key: operationId Value: '15' - Key: operationName Value: ADMIN_ID - Key: stacktrace Value: '' ValidationError: [] RequestId: 92463020-1aa1-48c6-b87f-ad8b97d0599e schema: title: Tradeshift Public API 1.0 - TradeshiftException required: - ErrorCode - Message - RequestId type: object additionalProperties: false properties: ErrorCode: type: string Message: type: string ErrorDetail: type: array items: type: object additionalProperties: false properties: Key: type: string Value: type: string required: - Key - Value ValidationError: type: array items: type: object RequestId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string description: 'Check if an user identified by the tenantId and actorId is able to access the objectId of the type typeId. The operation provided should exist through the list of allowed operations for the role assigned to the user. The result takes into consideration also the DocumentAccess settings, if the app is enabled. ' operationId: get-rest-external-accesslist-operation-operationid-type-typeid-object-objectid parameters: [] x-annotation-dx-category: accounts-company summary: Check authorization tags: - dx-category--accounts-company /rest/external/account: get: responses: '200': description: Details about the current company account content: application/json: example: CompanyName: ELTEC Inc. mkxezemhuirw Country: US CompanyAccountId: 16e61501-2e6a-42ae-9bb3-67d1c1468056 State: ACTIVE Identifiers: - scheme: TS:VAT value: eltec.mkxezemhuirw AddressLines: [] RegistrationAddressLines: [] AcceptingDocumentProfiles: [] LookingFor: [] Offering: [] PublicProfile: false NonuserInvoicing: false AutoAcceptConnections: false Restricted: true Created: '2017-12-12T14:07:43.945Z' Modified: '2017-12-12T14:07:44.342Z' AccountType: FREE schema: type: object properties: CompanyName: title: The Companyname Schema. default: '' description: An explanation about the purpose of this instance. type: string Country: title: The Country Schema. default: '' description: An explanation about the purpose of this instance. type: string CompanyAccountId: title: The Companyaccountid Schema. default: '' description: An explanation about the purpose of this instance. type: string State: title: The State Schema. default: '' description: An explanation about the purpose of this instance. type: string Identifiers: type: array items: type: object properties: scheme: title: The Scheme Schema. default: '' description: An explanation about the purpose of this instance. type: string value: title: The Value Schema. default: '' description: An explanation about the purpose of this instance. type: string required: - scheme - value AddressLines: type: array items: title: Empty Object description: This accepts anything, as long as it's valid JSON. type: string AcceptingDocumentProfiles: type: array items: title: Empty Object description: This accepts anything, as long as it's valid JSON. type: string LookingFor: type: array items: title: Empty Object description: This accepts anything, as long as it's valid JSON. type: string Offering: type: array items: title: Empty Object description: This accepts anything, as long as it's valid JSON. type: string PublicProfile: title: The Publicprofile Schema. default: false description: An explanation about the purpose of this instance. type: boolean NonuserInvoicing: title: The Nonuserinvoicing Schema. default: false description: An explanation about the purpose of this instance. type: boolean AutoAcceptConnections: title: The Autoacceptconnections Schema. default: false description: An explanation about the purpose of this instance. type: boolean Restricted: title: The Restricted Schema. default: false description: An explanation about the purpose of this instance. type: boolean Created: title: The Created Schema. default: '' description: An explanation about the purpose of this instance. type: string Modified: title: The Modified Schema. default: '' description: An explanation about the purpose of this instance. type: string AccountType: title: The Accounttype Schema. default: '' description: An explanation about the purpose of this instance. type: string LastActive: title: Last Active timestamp default: '' description: Timestamp of the last activity of the account type: string required: - CompanyName - Country - CompanyAccountId - State - Identifiers - AddressLines - AcceptingDocumentProfiles - LookingFor - Offering - PublicProfile - NonuserInvoicing - AutoAcceptConnections - Restricted - Created - Modified - AccountType - LastActive description: Get information about the company account that is currently being accessed. operationId: get-rest-external-account x-annotation-dx-category: accounts-company summary: get account info tags: - dx-category--accounts-company put: responses: '204': description: Update company information for the current company account. '400': description: Invalid company name, company account id or identifier description: Update company information for the current company account. Properties will not be changed using this resource. operationId: put-rest-external-account requestBody: content: text/xml: example: "\n ${companyName}\n\ \ US\n 813a3b75-a926-4e82-bd2b-a283b3b4bc6a\n\ \ ACTIVE\n \n 96d47166-0abd-41c7-aae3-661ab060cb6b\n\ \ \n \n 1\n \ \ San Francisco\n CA\n\ \ test8 street\n 94116\n\ \ \n \n Registration Building\n Registration\ \ City\n Registration State\n\ \ Registration Street\n Registration Zip\n \n \n\ \ \n \n false\n false\n\ \ false\n true\n 2017-02-27T16:15:31.059-08:00\n\ \ 2017-03-05T18:36:48.811-08:00\n FREE\n" schema: type: object required: true x-annotation-dx-category: accounts-company summary: update account info tags: - dx-category--accounts-company /rest/external/account/branches: get: responses: '200': description: '' content: application/json: schema: example: numPages: '0' pageId: '0' itemsPerPage: '0' itemCount: '0' CompanyAccount: [] description: Get listing of branches for the current company account, if any. operationId: get-rest-external-account-branches x-annotation-dx-category: accounts-branches summary: get branches tags: - dx-category--accounts-branches /rest/external/account/branches/new: put: responses: '204': description: Created a new company account and optionally user. '400': description: 'The tenant identifier proposed does already exist on the platform and no tenant nor user was created. ' description: 'Creates a company account as the child of the current account using the provided data in the body of the PUT call. The branch will automatically be activated and no activation email will be sent to any branch users attached to the create request. The identifier(s) must not already exist. ' operationId: put-rest-external-account-branches-new requestBody: content: application/json: example: User: Id: 0daab548-3990-41ed-b0f4-eb197e693df1 Person: Email: steve.armstrong@example.org ReturnUrl: https://go.tradeshift.com Language: en-us TimeZone: GMT Visible: true CompanyAccount: Company: CompanyName: Example Inc. Country: US Identifier: - scheme: TS:ID value: f54bca78-3ac9-4843-ae4a-f6808c0ea477 ParentCompanyAccountId: e3e1e302-ea34-416c-8236-248295ef7a8c schema: title: Tradeshift public API 1.0 - CreateBranchAccountRequest required: - User - CompanyAccount - ParentCompanyAccountId type: object additionalProperties: false properties: User: type: object properties: Id: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string required: - Id CompanyAccount: type: object properties: Company: type: object required: - Company From: type: string SendActivationEmail: type: boolean ParentCompanyAccountId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string Properties: type: object properties: termsandconditions: type: string required: - termsandconditions required: true x-annotation-dx-category: accounts-branches summary: create branch tags: - dx-category--accounts-branches /rest/external/account/branches/{companyId}: parameters: - name: companyId in: path required: true schema: type: string description: UUID identifier of company account. get: responses: '200': description: '' content: application/json: schema: example: Id: 58a5b768-08be-48ec-a06d-6874fde8cf46 State: CREATED Company: CompanyName: null Country: null Created: null Modified: null Identifier: null AddressLine: null Phone: null Fax: null LegalCompanyStructure: null AddressAvailable: null RegistrationAddress: null Url: str Description: str ShortUrl: str PublicProfile: 'false' NonuserInvoicing: 'false' AutoAcceptConnections: 'false' Restricted: 'false' Property: null Offering: null LookingFor: null Industry: ACADEMIA OtherIndustry: str OwnershipType: SOLE Size: ONE NumConnections: '0' PrimaryBankAccount: channelCode: str branchId: str paymentNote: str institutionId: str institutionName: str branchName: str value: str beneficiaryName: str beneficiaryBankAddress: str accountTypeCode: str AccountType: FREE RegisteredGLI: [] '404': description: Specific branch isn't found or isn't a branch of the current parent. description: Get specific branch for the current parent operationId: get-rest-external-account-branches-companyid x-annotation-dx-category: accounts-branches summary: get branch tags: - dx-category--accounts-branches /rest/external/account/info: get: responses: '200': description: '' content: application/json: schema: example: CompanyName: str Country: str CompanyAccountId: 58a5b768-08be-48ec-a06d-6874fde8cf46 State: CREATED Url: str Description: str Identifiers: [] AddressLines: [] AcceptingDocumentProfiles: [] Properties: [] LookingFor: null Offering: null LogoURL: str BackgroundURL: str PublicProfile: 'false' NonuserInvoicing: 'false' AutoAcceptConnections: 'false' Restricted: 'false' NumConnections: '0' Industry: ACADEMIA OtherIndustry: str OwnershipType: SOLE Size: ONE Created: '2013-07-23T07:35:16.000Z' Modified: '2013-07-23T07:35:16.000Z' Phone: str Fax: str ShortUrl: str AccountType: FREE LastActive: '2013-07-23T07:35:16.000Z' description: Returns information about the company account that is currently being accessed. operationId: get-rest-external-account-info x-annotation-dx-category: accounts-company summary: get account info tags: - dx-category--accounts-company put: responses: '204': description: '' description: Update company information for the current company account. Properties will not be changed using this resource. operationId: put-rest-external-account-info requestBody: content: application/json: example: CompanyName: str Country: str CompanyAccountId: 58a5b768-08be-48ec-a06d-6874fde8cf46 State: CREATED Url: str Description: str Identifiers: [] AddressLines: [] AcceptingDocumentProfiles: [] Properties: [] LookingFor: null Offering: null LogoURL: str BackgroundURL: str PublicProfile: 'false' NonuserInvoicing: 'false' AutoAcceptConnections: 'false' Restricted: 'false' NumConnections: '0' Industry: ACADEMIA OtherIndustry: str OwnershipType: SOLE Size: ONE Created: '2013-07-23T07:35:16.000Z' Modified: '2013-07-23T07:35:16.000Z' Phone: str Fax: str ShortUrl: str AccountType: FREE LastActive: '2013-07-23T07:35:16.000Z' schema: type: string required: true x-annotation-dx-category: accounts-company summary: update account info tags: - dx-category--accounts-company /rest/external/account/info/user: get: responses: '200': description: '' content: application/json: example: Id: 413a8273-d83d-42e0-9942-c6959505079c CompanyName: ELTEC Inc. mfbqdqmyyyep Username: steve.armstrong@mfbqdqmyyyep.eltec.test.ts.sv Language: en-us TimeZone: America/Los_Angeles Memberships: - UserId: ff028804-9fc4-4894-ad03-3b27dcd5458c GroupId: 7066241f-e414-493d-acae-a3f98f0432cc Role: a6a3edcd-00d9-427c-bf03-4ef0112ba16d Created: '2017-12-12T14:26:02.339Z' State: ACTIVE Type: PERSON FirstName: Steve LastName: Armstrong Visible: true schema: title: Tradeshift Public API 1.0 - UserAccountList type: object properties: Id: title: The Id Schema. default: '' description: An explanation about the purpose of this instance. type: string CompanyName: title: The Companyname Schema. default: '' description: An explanation about the purpose of this instance. type: string Username: title: The Username Schema. default: '' description: An explanation about the purpose of this instance. type: string Language: title: The Language Schema. default: '' description: An explanation about the purpose of this instance. type: string TimeZone: title: The Timezone Schema. default: '' description: An explanation about the purpose of this instance. type: string Memberships: type: array items: type: object properties: UserId: title: The Userid Schema. default: '' description: An explanation about the purpose of this instance. type: string GroupId: title: The Groupid Schema. default: '' description: An explanation about the purpose of this instance. type: string Role: title: The Role Schema. default: '' description: An explanation about the purpose of this instance. type: string required: - UserId - GroupId - Role Created: title: The Created Schema. default: '' description: An explanation about the purpose of this instance. type: string State: title: The State Schema. default: '' description: An explanation about the purpose of this instance. type: string Type: title: The Type Schema. default: '' description: An explanation about the purpose of this instance. type: string FirstName: title: The Firstname Schema. default: '' description: An explanation about the purpose of this instance. type: string LastName: title: The Lastname Schema. default: '' description: An explanation about the purpose of this instance. type: string Visible: title: The Visible Schema. default: false description: An explanation about the purpose of this instance. type: boolean required: - Id - CompanyName - Username - Language - TimeZone - Memberships - Created - State - Type - FirstName - LastName - Visible description: Returns information about the user account currently accessing the system. Be aware that under normal circumstances, this will be a special app user, not the user who has installed an app. operationId: get-rest-external-account-info-user x-annotation-dx-category: users-accounts summary: get user info tags: - dx-category--users-accounts /rest/external/account/members/{userId}: parameters: - name: userId in: path required: true schema: type: string description: UUID identifier of user account. delete: responses: '204': description: '' description: Remove a member from the current company account. Users who belong to the account (have the account's CompanyAccountId) cannot be removed. operationId: delete-rest-external-account-members-userid x-annotation-dx-category: users-memberships summary: remove user tags: - dx-category--users-memberships /rest/external/account/parent: get: responses: '200': description: '' content: application/json: schema: example: CompanyName: str Country: str CompanyAccountId: 58a5b768-08be-48ec-a06d-6874fde8cf46 State: CREATED Url: str Description: str Identifiers: [] AddressLines: [] AcceptingDocumentProfiles: [] Properties: [] LookingFor: null Offering: null LogoURL: str BackgroundURL: str PublicProfile: 'false' NonuserInvoicing: 'false' AutoAcceptConnections: 'false' Restricted: 'false' NumConnections: '0' Industry: ACADEMIA OtherIndustry: str OwnershipType: SOLE Size: ONE Created: '2013-07-23T07:35:16.000Z' Modified: '2013-07-23T07:35:16.000Z' Phone: str Fax: str ShortUrl: str AccountType: FREE LastActive: '2013-07-23T07:35:16.000Z' '404': description: '' description: Returns information about the parent account of the current account (the parent is the account of which the current account is a branch). operationId: get-rest-external-account-parent x-annotation-dx-category: accounts-branches summary: get parent tags: - dx-category--accounts-branches /rest/external/account/public/users: get: responses: '200': description: '' content: application/json: schema: example: itemsPerPage: 25 itemCount: 1 numPages: 1 pageId: 0 UserAccounts: - Id: e7eb4520-34f6-48c3-8982-024366454ba4 CompanyAccountId: b289b086-c96f-4b09-a0e9-300631948601 CompanyName: ELTEC Inc. jvuvlsxwdzlh Username: steve.armstrong@jvuvlsxwdzlh.eltec.test.ts.sv Language: en-us TimeZone: America/Los_Angeles Memberships: - UserId: e7eb4520-34f6-48c3-8982-024366454ba4 GroupId: b289b086-c96f-4b09-a0e9-300631948601 Role: a6a3edcd-00d9-427c-bf03-4ef0112ba16d Created: '2017-04-04T10:58:54.585+02:00' State: ACTIVE Type: PERSON FirstName: Steve LastName: Armstrong Visible: true PrimaryUser: e7eb4520-34f6-48c3-8982-024366454ba4 '404': description: '' description: Searches visible users in all companies (not only the current account) for the query string. operationId: get-rest-external-account-public-users parameters: - name: q in: query required: true description: User to search for schema: type: string - name: limit in: query required: true description: Page size per query schema: default: 10 type: integer - name: page in: query description: Page number of the query schema: default: 0 type: integer x-annotation-dx-category: users-accounts summary: find public users tags: - dx-category--users-accounts /rest/external/account/taxes: get: responses: '200': description: '' content: application/json: schema: example: StackedTaxes: [] DefaultTaxIndex: '0' '404': description: '' description: Get tax categories. Lists the company taxes for the requesting context, if connectionID is specified it will also include the default tax from the connection properties. operationId: get-rest-external-account-taxes parameters: - name: connectionID in: query required: true description: Connection to get tax categories for. schema: type: string x-annotation-dx-category: accounts-taxes summary: get taxes tags: - dx-category--accounts-taxes put: responses: '204': description: '' '404': description: '' description: Update tax categories. operationId: put-rest-external-account-taxes x-annotation-dx-category: accounts-taxes summary: update taxes tags: - dx-category--accounts-taxes /rest/external/account/users: get: responses: '200': description: '' content: application/json: schema: example: itemsPerPage: 25 itemCount: 1 numPages: 1 pageId: 0 UserAccounts: - Id: e7eb4520-34f6-48c3-8982-024366454ba4 CompanyAccountId: b289b086-c96f-4b09-a0e9-300631948601 CompanyName: ELTEC Inc. jvuvlsxwdzlh Username: steve.armstrong@jvuvlsxwdzlh.eltec.test.ts.sv Language: en-us TimeZone: America/Los_Angeles Memberships: - UserId: e7eb4520-34f6-48c3-8982-024366454ba4 GroupId: b289b086-c96f-4b09-a0e9-300631948601 Role: a6a3edcd-00d9-427c-bf03-4ef0112ba16d Created: '2017-04-04T10:58:54.585+02:00' State: ACTIVE Type: PERSON FirstName: Steve LastName: Armstrong Visible: true PrimaryUser: e7eb4520-34f6-48c3-8982-024366454ba4 '404': description: '' description: Get a list of users associated with the current account. operationId: get-rest-external-account-users parameters: - name: visible in: query required: true description: If true, only display users that are visible to everybody in a network. schema: default: true type: boolean - name: limit in: query required: true description: Page size per query schema: default: 25 type: integer - name: page in: query description: Page number of the query schema: default: 0 type: integer x-annotation-dx-category: users-accounts summary: get users tags: - dx-category--users-accounts /rest/external/account/users/byemail/{email}: parameters: - name: email in: path required: true schema: type: string description: Email of user being requested get: responses: '200': description: '' content: application/json: schema: example: Id: bc537c59-6c8c-49d0-bc24-14b6d676b106 Person: Created: '2016-09-27T10:49:45.739+02:00' FirstName: Dwight LastName: Schrute Email: dwight.schrute@dundermifflin.com CompanyAccountId: 87b14576-04f6-480c-a4fd-8f692dd89fa8 UserName: dwight.schrute@dundermifflin.com Credentials: [] State: ACTIVE Language: en-us Kind: PERSON TimeZone: America/New_York Visible: false OverridingCompanyAccountId: 87b14576-04f6-480c-a4fd-8f692dd89fa8 '404': description: '' description: Find if a user exists inside a company. Case insensitive. operationId: get-rest-external-account-users-byemail-email parameters: - name: searchparent in: query description: If true, search parent account as well. schema: default: false type: boolean - name: searchlocked in: query description: If true, search locked account as well. schema: default: true type: boolean x-annotation-dx-category: users-accounts summary: get user by email tags: - dx-category--users-accounts /rest/external/account/users/{userId}: parameters: - name: userId in: path required: true schema: type: string description: UUID identifier of user account. get: responses: '200': description: '' content: text/xml: example: "\n 69c772e7-b177-4621-8bb0-c1b3768adcd5\n\ \ f54bca78-3ac9-4843-ae4a-f6808c0ea477\n ELTEC Inc.\n\ \ steve.armstrong@example.com\n en-us\n America/Los_Angeles\n\ \ \n \n 69c772e7-b177-4621-8bb0-c1b3768adcd5\n\ \ cfacdb6c-abef-46bd-9283-098387ac9e03\n a6a3edcd-00d9-427c-bf03-4ef0112ba16d\n\ \ \n \n 2017-05-08T13:24:36.710+02:00\n ACTIVE\n\ \ PERSON\n Steve\n Armstrong\n true\n\ \n" schema: type: object description: Gets account information to requested user. Sensitive info is disclosed within the same company or between companies that are mutually connected. operationId: get-rest-external-account-users-userid x-annotation-dx-category: users-accounts summary: get user by id tags: - dx-category--users-accounts put: responses: '204': description: The user was updated/created successfully. '404': description: '' description: Create or update a user inside the current company account operationId: put-rest-external-account-users-userid requestBody: content: application/json: example: Id: 413a8273-d83d-42e0-9942-c6959505079c CompanyAccountId: 513a8273-d83d-42e0-9942-c6959505079a CompanyName: ELTEC Inc. mfbqdqmyyyep Username: steve.armstrong@mfbqdqmyyyep.eltec.test.ts.sv Language: en-us TimeZone: America/Los_Angeles Memberships: - UserId: ff028804-9fc4-4894-ad03-3b27dcd5458c GroupId: 7066241f-e414-493d-acae-a3f98f0432cc Role: a6a3edcd-00d9-427c-bf03-4ef0112ba16d Created: '2017-12-12T14:26:02.339Z' State: ACTIVE Type: PERSON FirstName: Steve LastName: Armstrong Title: Mr. PictureUrl: theUrl Visible: true RoleId: a6a3edcd-00d9-427c-bf03-4ef0112ba16d Password: theSecretSauce schema: required: - Id - CompanyAccountId - CompanyName - Username - Language - Created - FirstName - LastName type: object properties: Id: type: string CompanyAccountId: type: string CompanyName: type: string Username: type: string Language: type: string TimeZone: type: string Memberships: type: array items: required: - UserId - GroupId - Role type: object properties: UserId: type: string GroupId: type: string Role: type: string Created: type: string State: type: string Type: type: string FirstName: maxLength: 128 type: string LastName: maxLength: 128 type: string Title: type: string PictureUrl: type: string Visible: type: boolean RoleId: type: string Password: type: string required: true x-annotation-dx-category: users-accounts summary: update user by id tags: - dx-category--users-accounts /rest/external/account/users/{userId}/images/{name}: parameters: - name: userId in: path required: true schema: type: string description: UUID identifier of user account. - name: name in: path required: true schema: type: string description: Unique name of image. get: responses: '200': description: '' '304': description: '' '307': description: '' '404': description: '' description: Returns image by user and image name. operationId: get-rest-external-account-users-userid-images-name parameters: - name: Accept in: header required: true description: The mime-type of the image schema: type: string - name: height in: query description: The height of the image schema: default: 0 type: number - name: width in: query description: The width of the image schema: default: 0 type: number x-annotation-dx-category: users-profile_images summary: get user image tags: - dx-category--users-profile_images put: responses: '201': description: '' '406': description: '' '502': description: '' description: Save an image by user and image name operationId: put-rest-external-account-users-userid-images-name parameters: - name: Content-Type in: header required: true description: The mime-type of the image schema: type: string x-annotation-dx-category: users-profile_images summary: save user image tags: - dx-category--users-profile_images delete: responses: '204': description: '' '404': description: '' description: Removes image that matches user and image name parameters. operationId: delete-rest-external-account-users-userid-images-name x-annotation-dx-category: users-profile_images summary: remove user image tags: - dx-category--users-profile_images /rest/external/account/users/{userId}/role: parameters: - name: userId in: path required: true schema: type: string description: UUID identifier of user account. put: responses: '204': description: '' '403': description: '' description: Create a membership for the given user, group and role deleting all the existing group's memberships. operationId: put-rest-external-account-users-userid-role x-annotation-dx-category: users-memberships summary: replace roles tags: - dx-category--users-memberships /rest/external/account/users/{userId}/state: parameters: - name: userId in: path required: true schema: type: string description: UUID identifier of user account. put: responses: '204': description: '' '403': description: '' description: Set the state of a user. operationId: put-rest-external-account-users-userid-state requestBody: content: text/plain: example: LOCKED schema: type: string required: true x-annotation-dx-category: users-memberships summary: set user state tags: - dx-category--users-memberships /rest/external/account/validations: get: responses: '200': description: '' content: application/json: schema: example: numPages: '0' pageId: '0' itemsPerPage: '0' itemCount: '0' DynamicValidation: [] '403': description: If the feature is not available for this account. description: Gets a dynamic validation, by External (enterprise) ID. Only available when the relevant features have been enabled for the account. operationId: get-rest-external-account-validations parameters: - name: id in: query required: true description: External (enterprise) ID schema: type: string x-annotation-dx-category: accounts-validations summary: get validations tags: - dx-category--accounts-validations put: responses: '204': description: '' '403': description: If the feature is not available for this account. description: Saves a dynamic validation, by External (enterprise) ID. Only available when the relevant features have been enabled for the account. operationId: put-rest-external-account-validations parameters: - name: id in: query required: true description: External (enterprise) ID schema: type: string x-annotation-dx-category: accounts-validations summary: update validations tags: - dx-category--accounts-validations delete: responses: '204': description: '' '403': description: If the feature is not available for this account. description: Deletes a dynamic validation, by External (enterprise) ID. Only available when the relevant features have been enabled for the account. operationId: delete-rest-external-account-validations parameters: - name: id in: query required: true description: External (enterprise) ID schema: type: string x-annotation-dx-category: accounts-validations summary: remove validations tags: - dx-category--accounts-validations /rest/external/account/validations/historydata/{historicid}: parameters: - name: historicid in: path required: true schema: type: string description: Identifier for historical data requested get: responses: '200': description: '' content: application/json: schema: example: changes: '[B@68c2f2e3' created: '0' filename: str filesize: '0' id: 58a5b768-08be-48ec-a06d-6874fde8cf46 '404': description: '' description: Get dynamic validation changes file populated with content. operationId: get-rest-external-account-validations-historydata-historicid x-annotation-dx-category: accounts-validations summary: validation history tags: - dx-category--accounts-validations /rest/external/account/validations/list: get: responses: '200': description: '' content: application/json: schema: example: numPages: '0' pageId: '0' itemsPerPage: '0' itemCount: '0' DynamicValidation: [] '403': description: If the feature is not available for this account. description: Returns all dynamic validations that have been created for the account. Only available when the relevant features have been enabled for the account. operationId: get-rest-external-account-validations-list parameters: - name: limit in: query required: true description: Page size per query schema: default: 25 type: integer - name: page in: query description: Page number of the query schema: default: 0 type: integer x-annotation-dx-category: accounts-validations summary: list of validations tags: - dx-category--accounts-validations /rest/external/account/validations/log: get: responses: '200': description: '' content: application/json: schema: example: numPages: '0' pageId: '0' itemsPerPage: '0' itemCount: '0' DynamicValidationEvents: [] '404': description: If no events are found. description: Returns dynamic validations event log for the account. operationId: get-rest-external-account-validations-log parameters: - name: after in: query description: List only events after this date. schema: type: string - name: before in: query description: List only events before this date. schema: type: string - name: limit in: query required: true description: Page size per query schema: default: 25 type: integer - name: page in: query description: Page number of the query schema: default: 0 type: integer x-annotation-dx-category: accounts-validations summary: validation log tags: - dx-category--accounts-validations /rest/external/account/validations/usedvalues: get: responses: '200': description: '' content: application/json: schema: example: numPages: '0' pageId: '0' itemsPerPage: '0' itemCount: '0' DynamicValidationEvents: [] '404': description: If no events are found. description: Returns dynamic validations event log for the account and validation/valueset. operationId: get-rest-external-account-validations-usedvalues parameters: - name: after in: query description: List only events after this date. schema: type: string - name: before in: query description: List only events before this date. schema: type: string - name: validationid in: query required: true description: Validation to pull events for. schema: type: string - name: valuesetid in: query required: true description: Valueset to pull events for. schema: type: string x-annotation-dx-category: accounts-validations summary: validations used tags: - dx-category--accounts-validations /rest/external/account/validations/values: get: responses: '200': description: '' content: application/json: schema: example: numPages: '0' pageId: '0' itemsPerPage: '0' itemCount: '0' DynamicValidationValues: [] '404': description: If no dynamic validations are found. description: List values currently registered for a given dynamic validation, by the id of the dynamic validation operationId: get-rest-external-account-validations-values parameters: - name: validationid in: query required: true description: Identifier of the dynamic validation schema: type: string - name: fieldid in: query description: Identifier of the field in the dynamic validation schema: type: string - name: search in: query description: Query string to search schema: type: string - name: limit in: query required: true description: Page size per query schema: default: 25 type: integer - name: page in: query description: Page number of the query schema: default: 0 type: integer x-annotation-dx-category: accounts-validations summary: validation values tags: - dx-category--accounts-validations /rest/external/account/validations/valuesets: get: responses: '200': description: '' content: application/json: schema: example: numPages: '0' pageId: '0' itemsPerPage: '0' itemCount: '0' DynamicValidationValues: [] '404': description: If no dynamic validations are found. description: List value sets registered for a given dynamic validation, without retrieving actual values. operationId: get-rest-external-account-validations-valuesets parameters: - name: search in: query description: Query string to search schema: type: string - name: limit in: query required: true description: Page size per query schema: default: 25 type: integer - name: page in: query description: Page number of the query schema: default: 0 type: integer x-annotation-dx-category: accounts-validations summary: validation value sets tags: - dx-category--accounts-validations /rest/external/account/validations/{dynamicvalidationinternalid}/values: parameters: - name: dynamicvalidationinternalid in: path required: true schema: type: string description: Identifier for dynamic validation get: responses: '200': description: '' content: application/json: schema: example: numPages: '0' pageId: '0' itemsPerPage: '0' itemCount: '0' DynamicValidationValues: [] '404': description: If no dynamic validations are found. description: List all values currently registered for a given dynamic validation. operationId: get-rest-external-account-validations-dynamicvalidationinternalid-values parameters: - name: search in: query description: Query string to search schema: type: string - name: limit in: query required: true description: page size per query schema: default: 25 type: integer - name: page in: query description: page number of the query schema: default: 0 type: integer x-annotation-dx-category: accounts-validations summary: validation by id tags: - dx-category--accounts-validations /rest/external/account/{companyId}: parameters: - name: companyId in: path required: true schema: type: string description: UUID identifier of company account. get: responses: '200': description: The account was found and returned. content: application/json: schema: example: CompanyName: str Country: str CompanyAccountId: 58a5b768-08be-48ec-a06d-6874fde8cf46 State: CREATED Url: str Description: str Identifiers: [] AddressLines: [] AcceptingDocumentProfiles: [] Properties: [] LookingFor: null Offering: null LogoURL: str BackgroundURL: str PublicProfile: 'false' NonuserInvoicing: 'false' AutoAcceptConnections: 'false' Restricted: 'false' NumConnections: '0' Industry: ACADEMIA OtherIndustry: str OwnershipType: SOLE Size: ONE Created: '2013-07-23T07:35:16.000Z' Modified: '2013-07-23T07:35:16.000Z' Phone: str Fax: str ShortUrl: str AccountType: FREE LastActive: '2013-07-23T07:35:16.000Z' '204': description: The account queried for did not exist. Empty response will be returned. description: Return account associated with companyId. operationId: get-rest-external-account-companyid x-annotation-dx-category: accounts-company summary: get company account tags: - dx-category--accounts-company put: responses: '204': description: '' description: Update company information for the specified company account. operationId: put-rest-external-account-companyid x-annotation-dx-category: accounts-company summary: put company account tags: - dx-category--accounts-company /rest/external/account/{companyId}/users: parameters: - name: companyId in: path required: true schema: type: string description: Company (tenant) UUID identifier of company to administer TSGLI prefixes for. get: responses: '200': description: List of the found users content: application/json: example: itemsPerPage: 25 itemCount: 1 numPages: 1 pageId: 0 UserAccounts: - Id: e7eb4520-34f6-48c3-8982-024366454ba4 CompanyAccountId: b289b086-c96f-4b09-a0e9-300631948601 CompanyName: ELTEC Inc. jvuvlsxwdzlh Username: steve.armstrong@jvuvlsxwdzlh.eltec.test.ts.sv Language: en-us TimeZone: America/Los_Angeles Memberships: - UserId: e7eb4520-34f6-48c3-8982-024366454ba4 GroupId: b289b086-c96f-4b09-a0e9-300631948601 Role: a6a3edcd-00d9-427c-bf03-4ef0112ba16d Created: '2017-04-04T10:58:54.585+02:00' State: ACTIVE Type: PERSON FirstName: Steve LastName: Armstrong Visible: true PrimaryUser: e7eb4520-34f6-48c3-8982-024366454ba4 schema: title: Tradeshift Public API 1.0 - UserAccountList type: object properties: itemsPerPage: type: number itemCount: type: number numPages: type: number pageId: type: number UserAccounts: type: array items: type: object properties: Id: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string CompanyAccountId: type: string CompanyName: type: string Username: type: string Language: type: string TimeZone: type: string Memberships: type: array items: type: object properties: UserId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string GroupId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string Role: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string required: - UserId - GroupId - Role Created: type: string State: type: string Type: type: string FirstName: type: string LastName: type: string Visible: type: boolean required: - Id - CompanyAccountId - CompanyName - Username - Language - TimeZone - Memberships - Created - State - Type - FirstName - LastName - Visible PrimaryUser: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string required: - itemsPerPage - itemCount - numPages - pageId - UserAccounts - PrimaryUser '404': description: '' description: Searches for or lists the users in the requested company account operationId: get-rest-external-account-companyid-users parameters: - name: q in: query description: User to search for (optional) schema: type: string - name: id in: query description: list of id's for users to return, if any id' are supplied the q, page and limit params will be ignored schema: type: string - name: includeMemberships in: query description: adds membership info to found users schema: default: true type: boolean - name: findMembers in: query description: consider membership in finding users schema: default: false type: boolean - name: state in: query description: state - list of user states to query by, if left out default will be ACTIVE and CREATED schema: type: string - name: limit in: query description: pagination limit schema: default: 25 type: integer - name: page in: query description: Page number of the query schema: default: 0 type: integer x-annotation-dx-category: users-accounts summary: find users tags: - dx-category--users-accounts /rest/external/companies/{companyAccountId}/identifiers: parameters: - name: companyAccountId in: path required: true schema: type: string description: UUID identifier of company (tenant). get: responses: '200': description: Get the company identifiers for the requested tenant content: application/json: example: - scheme: DE:MWST value: '812529243' label: Umsatzsteuer-Identifikationsnummer partyTaxScheme: false toBePrinted: false - scheme: DK:CVR value: '27659721' label: '' partyTaxScheme: false toBePrinted: false schema: title: Tradeshift Public API 1.0 - CompanyIdentifiers List type: array additionalProperties: false items: type: object properties: scheme: title: Identifier scheme type: string value: title: Identifier value type: string label: type: string partyTaxScheme: type: boolean toBePrinted: type: boolean required: - scheme - value - label - partyTaxScheme - toBePrinted description: Return identifiers associated with the account with this companyId. operationId: get-rest-external-companies-companyaccountid-identifiers x-annotation-dx-category: accounts-company summary: get company identifiers tags: - dx-category--accounts-company put: responses: '200': description: The company identifiers were replaced '400': description: '' description: Update company identifiers for the specified company account. operationId: put-rest-external-companies-companyaccountid-identifiers requestBody: content: application/json: example: - scheme: DE:MWST value: '812529243' label: Umsatzsteuer-Identifikationsnummer partyTaxScheme: false toBePrinted: false - scheme: DK:CVR value: '27659721' label: '' partyTaxScheme: false toBePrinted: false schema: title: Tradeshift Public API 1.0 - CompanyIdentifiers List type: array additionalProperties: false items: type: object properties: scheme: title: Identifier scheme type: string value: title: Identifier value type: string label: type: string partyTaxScheme: type: boolean toBePrinted: type: boolean required: - scheme - value - label - partyTaxScheme - toBePrinted required: true x-annotation-dx-category: accounts-company summary: replace company identifiers tags: - dx-category--accounts-company /rest/external/documentfiles: get: responses: '200': description: Lists document files. content: text/xml: example: "\n \n 51e40da6-0116-11e4-9055-14109fe0cc3d\n my_test_invoice\n\ \ application/xml\n 51e40da6-0116-11e4-9055-14109fe0cc3d\n \ \ 51e40da6-0116-11e4-9055-14109fe0cc3d\n 2013-07-23T07:35:16.000Z\n\ \ 2013-07-23T07:35:16.000Z\n 2013-07-23T07:35:16.000Z\n\ \ outbox\n 51e40da6-0116-11e4-9055-14109fe0cc3d\n \ \ 1024\n 42\n \n \n\ \ 51e40da6-0116-11e4-9055-14109fe0cc3d\n my_test_invoice\n application/xml\n\ \ 51e40da6-0116-11e4-9055-14109fe0cc3d\n 51e40da6-0116-11e4-9055-14109fe0cc3d\n\ \ 2013-07-23T07:35:16.000Z\n 2013-07-23T07:35:16.000Z\n 2013-07-23T07:35:16.000Z\n\ \ outbox\n 51e40da6-0116-11e4-9055-14109fe0cc3d\n \ \ 1024\n 42\n \n\n" schema: type: object '400': description: '' '401': description: '' '404': description: '' content: text/xml: schema: example: "\n ResourceNotFound\n Error: ResourceNotFound:\ \ The object did not exist\n fff29544-8039-499f-91c5-b3c9e4e3d8b1\n\ \n" description: Get array of document file objects. operationId: get-rest-external-documentfiles parameters: - name: since in: query description: 'Limits documents to those which have changed since the given timestamp, formatted as a ISO 8601 XSD-timestamp. ' schema: type: string - name: createdAfter in: query description: List only those files that were created after this date. schema: type: string - name: createdBefore in: query description: List only those files that were created before this date. schema: type: string - name: limit in: query description: Number of files to be shown at once as part of the first page or for every page. schema: default: 100 type: integer - name: noPaging in: query description: 'To disable any paging and either return all files or just the first few files as specified by the limit parameter. This parameter supersedes the page parameter. ' schema: default: false type: boolean - name: recursive in: query description: Recursively include subdirectories, accepted as values 'true' or 'false'. schema: default: false type: boolean - name: directory in: query required: true description: The absolute path of the directory to list files from. schema: type: string - name: listDirectories in: query description: List directory definitions including '.' and subdirectories. schema: default: false type: boolean - name: fileNames in: query description: List of file names to look for. schema: type: string - name: acceptAs in: query description: Regex file name patterns to use to search for files. schema: type: string - name: state in: query description: 'The state of the document files to show; ''new'' for non dispatched, ''failed'', for ones with validation errors, ''dispatched'' for dispatched documents, ''dispatch_failed'' for ones where dispatch has failed. ' schema: type: string - name: requireDocumentId in: query description: List only those files that have an associated document id. schema: default: false type: boolean - name: page in: query description: Page number of the query schema: default: 0 type: integer x-annotation-dx-category: documents-document_files summary: find document files tags: - dx-category--documents-document_files /rest/external/documentfiles/directory: put: responses: '204': description: The directory was created. '304': description: A directory with the same path already exits. '400': description: The directory path supplied was not valid. '403': description: A directory cannot be created with this path. description: Create a new empty directory. operationId: put-rest-external-documentfiles-directory parameters: - name: directory in: query required: true description: Full path of directory to create. schema: type: string x-annotation-dx-category: documents-document_files summary: create directory tags: - dx-category--documents-document_files delete: responses: '204': description: The directory was deleted. '304': description: The directory is not modified and therefore not deleted. '400': description: The directory path supplied was not valid. '403': description: User cannot delete this directory or directories on this path. '404': description: The directory that is to be deleted was not found. description: Deletes the directory passed as parameter, this will fail if the directory is not empty. operationId: delete-rest-external-documentfiles-directory parameters: - name: directory in: query required: true description: Full path of directory to delete. schema: type: string x-annotation-dx-category: documents-document_files summary: remove directory tags: - dx-category--documents-document_files /rest/external/documentfiles/{filename}/dispatcher: parameters: - name: filename in: path required: true schema: type: string description: Original name of the document file to be renamed post: responses: '201': description: Documentfile was dispatched. The Location response header will point to the created and dispatched document. The headers contain Last-Modified and Document-ID. '204': description: When validation was failed (validation errors can be retrieved using /errors resource). '404': description: File not found. description: Dispatches a documentfile, converting it to UBL and sending it to the inferred receiver. operationId: post-rest-external-documentfiles-filename-dispatcher parameters: - name: filename in: query required: true description: The current filename of the documentfile to dispatch. schema: type: string - name: rename in: query description: A new filename to rename the file to, as part of the dispatch. schema: type: string - name: documentSource in: query description: Track the document's source - We save the source of the document in a new table called documentsource so that we know where the document was dispatched from. schema: type: string x-annotation-dx-category: documents-document_files summary: send file tags: - dx-category--documents-document_files /rest/external/documentfiles/{filename}/dispatcher/van/{vanId}: parameters: - name: filename in: path required: true schema: type: string description: Original name of the document file to be renamed - name: vanId in: path required: true schema: type: string description: Identifier of VAN to dispatch documentfile post: responses: '201': description: Documentfile was dispatched. The Location response header will point to the created and dispatched document. The headers contain Last-Modified and Document-ID. '204': description: When validation was failed (validation errors can be retrieved using /errors resource). '404': description: File not found. description: Dispatches a documentfile via a given VAN (Value-added-network), converting it to UBL and sending it to the inferred receiver. operationId: post-rest-external-documentfiles-filename-dispatcher-van-vanid parameters: - name: filename in: query required: true description: The current filename of the documentfile to dispatch. schema: type: string - name: rename in: query description: A new filename to rename the file to, as part of the dispatch. schema: type: string x-annotation-dx-category: documents-document_files summary: send file via VAN tags: - dx-category--documents-document_files /rest/external/documentfiles/{filename}/errors: parameters: - name: filename in: path required: true schema: type: string description: Original name of the document file to be renamed get: responses: '200': description: Errors were found for the given document. '404': description: No errors were found. description: Retrieves any validation errors that occurred when dispatching a document (must have POST to /dispatcher operationId: get-rest-external-documentfiles-filename-errors x-annotation-dx-category: documents-document_files summary: error by filename tags: - dx-category--documents-document_files /rest/external/documentfiles/{filename}/file: parameters: - name: filename in: path required: true schema: type: string description: Original name of the document file to be renamed get: responses: '200': description: '' description: Retrieves file from a given directory. operationId: get-rest-external-documentfiles-filename-file parameters: - name: directory in: query required: true description: Directory where filename lives. schema: type: string x-annotation-dx-category: documents-document_files summary: find file tags: - dx-category--documents-document_files delete: responses: '204': description: File deleted. '400': description: Supplied required parameters are blank or are invalid. '404': description: File to delete not found. description: Deletes a document file. operationId: delete-rest-external-documentfiles-filename-file parameters: - name: directory in: query required: true description: Directory where filename lives. schema: type: string x-annotation-dx-category: documents-document_files summary: delete file tags: - dx-category--documents-document_files /rest/external/documentfiles/{filename}/move: parameters: - name: filename in: path required: true schema: type: string description: Original name of the document file to be renamed post: responses: '204': description: File moved to new directory. '400': description: Supplied required parameters are blank or are invalid. '403': description: Moving files from or to the supplied directories is not allowed. '404': description: File to be moved was not found. description: Moves a documentfile to a new folder. operationId: post-rest-external-documentfiles-filename-move parameters: - name: directory in: query required: true description: Directory where file currently lives. schema: type: string - name: newdirectory in: query required: true description: Absolute path the directory to move the documentfile to. If the directory does not exist then the directory is created. schema: type: string - name: replace in: query description: If true, replaces existing file in new directory. schema: type: boolean x-annotation-dx-category: documents-document_files summary: move file to folder tags: - dx-category--documents-document_files /rest/external/documentfiles/{filename}/rename/{newfilename}/file: parameters: - name: filename in: path required: true schema: type: string description: Original name of the document file to be renamed - name: newfilename in: path required: true schema: type: string description: Desired name of the document file being renamed post: responses: '204': description: File was renamed. '304': description: file was not renamed because a file with the same name new name already exists. '400': description: Supplied required parameters are blank or are invalid. '404': description: File with the original name was not found or the directory does not exist. description: Renames the document file within the same directory. operationId: post-rest-external-documentfiles-filename-rename-newfilename-file parameters: - name: directory in: query required: true description: Directory where file lives. schema: type: string x-annotation-dx-category: documents-document_files summary: rename file tags: - dx-category--documents-document_files /rest/external/documents: get: responses: '200': description: 'The list of documents found with the same response mime-type as the one specified in the Accept header. The returned result is ordered ascending or descending (defaults to descending) based on the selected "ordering" parameter (defaults to LastEdit). ' content: application/json: example: itemsPerPage: 25 itemCount: 14 indexing: false numPages: 1 pageId: 0 Document: - DocumentId: 7f8959f0-3372-4a5e-b764-7fb42f1ff494 ID: '5' URI: https://api.tradeshift.com/rest/external/documents/7f8959f0-3372-4a5e-b764-7fb42f1ff494 DocumentType: mimeType: text/xml documentProfileId: nes.p5.order.ubl.2.1.dk type: order State: LOCKED LastEdit: '2017-03-01T15:07:14.421+01:00' Actor: Created: '2017-02-27T11:29:19.564+01:00' FirstName: '' LastName: '' Email: steve.armstrong@eltec.test.ts.sv ReceiverCompanyName: simon.owen@simons-catering.test.ts.sv Tags: Tag: [] ItemInfos: - type: document.description value: '1' - type: document.total value: '1.25' - type: document.currency value: DKK - type: document.issuedate value: '2017-03-01' LatestDispatch: DispatchId: 641a034b-e3fc-4218-9a0b-148ed269db51 ObjectId: 7f8959f0-3372-4a5e-b764-7fb42f1ff494 Created: '2017-03-01T15:16:15.657+01:00' SenderUserId: 0cb783f9-22c6-455f-84f1-83f8b3b5bdf5 DispatchState: COMPLETED LastStateChange: '2017-03-01T15:16:15.657+01:00' ReceiverConnectionId: 7593c621-d8e8-4b6f-b296-01310f71ff4e DispatchChannel: TRADESHIFT SentReceivedTimestamp: '2017-03-01T15:15:40.478+01:00' ProcessState: PENDING ConversationStates: - Axis: PROCESS State: PENDING Timestamp: '2017-03-01T15:15:23.059+01:00' - Axis: OTHERPART State: OTHER_PENDING Timestamp: '2017-03-01T15:16:18.023+01:00' - Axis: DELIVERY State: SENT Timestamp: '2017-03-01T15:16:17.968+01:00' UnifiedState: DELIVERED Deleted: false Properties: - scheme: emailBody value: '' - scheme: emailSubject value: '' ConversationId: 5afdf6e8-862b-40bc-8bf2-86d6364df85c SettlementIds: - 641a034b-e3fc-4218-9a0b-148ed269db58 - 641a034b-e3fc-4218-9a0b-148ed269db59 schema: type: object properties: itemsPerPage: type: integer itemCount: type: integer indexing: type: boolean numPages: type: integer pageId: type: integer Document: type: array items: type: object properties: DocumentId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string ID: type: string URI: type: string DocumentType: type: object properties: mimeType: type: string documentProfileId: type: string type: type: string required: - mimeType - documentProfileId - type State: enum: - DELETION_AWAITING_APPROVAL - DELETION_REQUESTED - DELETION_IN_PROGRESS - DELETION_COMPLETE - DELETION_FAILED type: string LastEdit: pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.\d{3})?(Z|(\+|\-)[0-9]{2}:[0-9]{2}) description: ISO8601 formatted DateTime in UTC timezone, fx 2014-12-09T16:11:53Z with optionally .001 for milliseconds. type: string Actor: type: object properties: Created: pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.\d{3})?(Z|(\+|\-)[0-9]{2}:[0-9]{2}) description: ISO8601 formatted DateTime in UTC timezone, fx 2014-12-09T16:11:53Z with optionally .001 for milliseconds. type: string Firstname: type: string Lastname: type: string Email: type: string required: - Created - Firstname - Lastname - Email ReceiverCompanyName: type: string Tags: type: object properties: Tag: type: array items: type: string required: - Tag ItemInfos: type: array items: type: object properties: ItemInfo: type: object properties: type: type: string value: type: string required: - type - value required: - ItemInfo LatestDispatch: type: object properties: DispatchId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string ObjectId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string Created: pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.\d{3})?(Z|(\+|\-)[0-9]{2}:[0-9]{2}) description: ISO8601 formatted DateTime in UTC timezone, fx 2014-12-09T16:11:53Z with optionally .001 for milliseconds. type: string SenderUserId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string DispatchState: enum: - ACCEPTED - PROCESSING - COMPLETED - FAILED_TRANSIENT - FAILED type: string LastStateChange: pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.\d{3})?(Z|(\+|\-)[0-9]{2}:[0-9]{2}) description: ISO8601 formatted DateTime in UTC timezone, fx 2014-12-09T16:11:53Z with optionally .001 for milliseconds. type: string ReceiverConnectionId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string DispatchChannel: type: string required: - DispatchId - ObjectId - Created - SenderUserId - DispatchState - LastStateChange - ReceiverConnectionId - DispatchChannel SentReceivedTimestamp: pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.\d{3})?(Z|(\+|\-)[0-9]{2}:[0-9]{2}) description: ISO8601 formatted DateTime in UTC timezone, fx 2014-12-09T16:11:53Z with optionally .001 for milliseconds. type: string ProcessState: type: string ConversationStates: type: array items: type: object properties: Axis: enum: - PROCESS - DELIVERY - PAYMENT - OTHERPART - REPLACEMENT - FINANCING - GLOBAL type: string State: enum: - PROCESS_ANY - PAID - REJECTED - OVERDUE - ACCEPTED - PENDING - INVOICED - DISPUTED - AWAITING_ASSISTANCE - ASSISTANCE_PROVIDED - CANCELED - ASSISTANCE_CANCELED - PUNCHOUT_SENT - PUNCHOUT_EDIT - DELIVERY_ANY - FAILED - SENT - RECEIVED - PROCESSING - PENDING_CONNECTION - PAYMENT_ANY - PAYMENT_CREATED - PAYMENT_PROCESSING - PAYMENT_PENDING - PAYMENT_COMPLETED - PAYMENT_INCOMPLETE - PAYMENT_REVERSAL_INCOMPLETE - PAYMENT_EXPIRED - PAYMENT_ERROR - OTHER_ANY - OTHER_REJECTED - OTHER_CANCELED - OTHER_PENDING - OTHER_PAID - OTHER_ACCEPTED - OTHER_PAYMENT_COMPLETED - OTHER_INVOICED - OTHER_DISPUTED - OTHER_OVERDUE - REPLACEMENT_ANY - ORIGINAL - REPLACED - CORRECTED - FINANCING_ANY - FINANCING_OFFERED - FINANCING_OFFER_ACCEPTED_BY_SUPPLIER - FINANCING_FUNDED type: string Timestamp: type: string required: - Axis - State - Timestamp UnifiedState: enum: - UNDETERMINED - IN_TRANSIT - PENDING_NOT_A_CONTACT - FAILED_DELIVERY - SENT - DELIVERED - ACCEPTED - OVERDUE - PAID_UNCONFIRMED - PAID_CONFIRMED - REJECTED_BY_SENDER - REJECTED_BY_RECEIVER - DISPUTED_BY_RECEIVER - REPLACED - CORRECTED - AWAITING_ASSISTANCE - ASSISTANCE_PROVIDED - CANCELED - ASSISTANCE_CANCELED - PUNCHOUT_SENT - PUNCHOUT_EDIT type: string Deleted: type: boolean Properties: type: array items: type: object properties: scheme: type: string value: type: string required: - scheme - value ConversationId: type: string SettlementIds: type: array items: type: string OrderTypeCode: type: string required: - DocumentId - ID - URI - DocumentType - State - LastEdit - Actor - ReceiverCompanyName - Tags - ItemInfos - LatestDispatch - SentReceivedTimestamp - ProcessState - ConversationStates - UnifiedState - Deleted - Properties - ConversationId - SettlementIds - OrderTypeCode required: - itemsPerPage - itemCount - indexing - numPages - pageId - Document '400': description: Bad request error '406': description: The request uses Accept headers that the server is unable to fulfill description: Gets a list of documents for the current user in XML or JSON format depending on the request Accept header. If multiple criteria are specified, they act as logical AND, unless specified otherwise. Drafts are not returned by default, unless stag=draft is specified. The return list of documents can be sorted by DueDate, LastEdit, Number, Amount, Date, Type. operationId: get-rest-external-documents parameters: - name: Accept in: header required: true description: Media types which are acceptable for the response. The possible values are text/xml and application/json. schema: enum: - application/xml - application/json type: string - name: tag in: query description: The tag the document must have. Can be used multiple times, which is interpreted as OR unless you set useAndOperatorForTags to true, then it will be AND. schema: type: string - name: useAndOperatorForTags in: query description: It sets the tags based search to meet all criteria within the set of provided filters. schema: default: false type: boolean - name: withouttag in: query description: The tag the document must not have. Can be used multiple times, which is interpreted as AND. schema: type: string - name: propertykey in: query description: Must be specified together with propertyvalue. Each pair of propertykey and propertyvalue will be interpreted as AND by default unless you set useOrOperatorForProperties to true, then it will be OR. schema: type: array items: type: string - name: propertyvalue in: query description: See propertykey. schema: type: array items: type: string - name: useOrOperatorForProperties in: query description: It sets the property based search to meet at least one criteria within the set of provided filters. schema: type: boolean - name: ascending in: query description: Whether the documents are ordered in ascending or descending order (for last edited date), defaults to descending. schema: default: false type: boolean - name: type in: query description: The type of documents to include. Examples of document types 'invoice', 'creditnote'. Can be used multiple times, which is interpreted as OR. schema: type: string - name: page in: query description: Result page to return. Each page has 'limit' number of results. schema: default: 0 type: integer - name: limit in: query description: Maximum number of results to return. This is also the number of results on each skipped page. Capped to 100. If _onlyIndex is set to true, includesourcedocuments and populatePersonInfo to false value is capped to 10000. schema: default: 25 type: integer - name: id in: query description: The documents to get DocumentInformation for (a Tradeshift UUID value) schema: type: string - name: businessId in: query description: Limits documents to those with the given business id (invoice/credit note/purchase order number, e.g. 'ABC-123'). Note that business ids are not guaranteed to be unique for received documents, and may potentially be duplicated for different documents, even sent by the same supplier. schema: type: string - name: sentBy in: query description: Sender company tenant id (a Tradeshift UUID value). schema: type: string - name: sentTo in: query description: Receiver company tenant ids (a Tradeshift UUID value). schema: type: string - name: stag in: query description: The system tag the document must have. Can be used multiple times, which is interpreted as OR. Known system include "inbox", "outbox", "draft", "sales", "purchases", "deleted". schema: type: string - name: minissuedate in: query description: Earliest issue date of documents to match (according to UBL content). schema: type: string - name: maxissuedate in: query description: Latest issue date of documents to match (according to UBL content). schema: type: string - name: since in: query description: Limits documents to those which have changed since the given timestamp, formatted as a XSD-timestamp. schema: type: string - name: createdBefore in: query description: Limits documents to those which were created before the given timestamp, formatted as a XSD-timestamp. schema: type: string - name: createdAfter in: query description: Limits documents to those which were created after the given timestamp, formatted as a XSD-timestamp. schema: type: string - name: processState in: query description: The _user_ state the document must have (see /metadata). Can be used multiple times, which is interpreted as OR. Note that this parameter is misnamed as it searches among all user states, not just process state. schema: type: string - name: withoutProcessState in: query description: The process state the document must not have (see /metadata). Can be used multiple times, which is interpreted as AND. Note that this parameter is misnamed as it searches among all user states, not just process state. schema: type: string - name: branchId in: query description: Document business ids. Can be used multiple times, which is interpreted as OR. schema: type: string - name: totals in: query description: Whether to calculate the documents total amount or not. schema: default: false type: boolean - name: state in: query description: 'Representing the state (e.g. SENT, DELIVERED, ACCEPTED) of the searched documents. Can be used multiple times, which is interpreted as OR. Accepted values are: UNDETERMINED, IN_TRANSIT, PENDING_NOT_A_CONTACT, FAILED_DELIVERY, SENT, DELIVERED, ACCEPTED, OVERDUE, PAID_UNCONFIRMED, PAID_CONFIRMED, REJECTED_BY_SENDER, REJECTED_BY_RECEIVER, DISPUTED_BY_RECEIVER, CLOSED, REPLACED, CORRECTED, IN_ENRICHMENT, IN_CLEARANCE, COLLECTED, AWAITING_ASSISTANCE, ASSISTANCE_PROVIDED, CANCELED, ASSISTANCE_CANCELED, PUNCHOUT_SENT, PUNCHOUT_EDIT. ' schema: type: string - name: ordering in: query description: Field that indicates the criteria on which result will be ordered upon returning (e.g. DueDate, Amount, Date). schema: default: LastEdit type: string - name: sales in: query description: This parameter decides whether the transaction type of selected documents should be sale or not. schema: type: boolean - name: query in: query description: 'This parameter defines the specific text to be searched within the documents. It can include a single or multiple words or phrases and documents that match the search condition will be returned. ' schema: type: string - name: copyIndicator in: query description: Whether to search only copies of documents, originals or both. schema: type: boolean - name: onlycopies in: query description: Whether to search only copies of documents. schema: default: false type: boolean - name: onlydrafts in: query description: Whether to search only drafts. schema: default: false type: boolean - name: onlydeleted in: query description: Whether to search only deleted documents. schema: default: false type: boolean - name: includesourcedocuments in: query description: Whether to include the raw UBL document in the result. The UBL documents are stripped of attachments before they are returned. schema: default: false type: boolean - name: waitForIndex in: query description: Whether to wait for pending documents to be indexed. schema: default: true type: boolean - name: _onlyIndex in: query description: This flag allows document listing using exclusively the data from the index. schema: default: false type: boolean - name: conversationId in: query description: The document conversation id used for getting its related documents. schema: type: string - name: totalFrom in: query description: It represents the minimum value of the total range that can be used to filter documents. schema: type: number - name: totalTo in: query description: It represents the maximum value of the total range that can be used to filter documents. schema: type: number - name: currency in: query description: It represents the currency that can be used to filter documents only of that currency. schema: type: string - name: requesterId in: query description: 'This field can be used to filter documents by the given list of requester Ids, only applicable for Purchase Request Documents. The requester is either the creating person or the document or if specified the "on behalf of" person ' schema: type: string - name: invoiceTypeCode in: query description: 'This field represents the type of invoice for an invoice document. If the field is missing then we will have a normal/commercial invoice filter. For value 325 proforma invoice type will be searched and for value 386 we will have prepayment invoice. ' schema: type: array items: type: number - name: accountingSystemId in: query description: 'This field represents a custom value assigned by a client to a connection with a supplier. ' schema: type: string - name: accountingCost in: query description: This field represents a custom value assigned by a client refering to a Cost Center. schema: type: string - name: profileId in: query description: It represents the profile id of a given document. schema: type: string - name: populatePersonInfo in: query description: Populate person info (actor and requester) schema: default: true type: boolean - name: orderTypeCode in: query description: This field represents the type of order for an order document. schema: type: array items: type: number - name: orderChangeTypeCode in: query description: This field represents the type of order for an order change document. schema: type: array items: type: number x-annotation-dx-category: documents-document summary: find documents tags: - dx-category--documents-document /rest/external/documents/assignments/companies/{companyid}/autoassignments: parameters: - name: companyid in: path required: true schema: type: string description: UUID identifier of the company account. get: responses: '200': description: Paginated company auto assignments list. content: application/json: example: numPages: 10 pageId: 0 itemsPerPage: 40 itemCount: 200 Items: - AutoAssignmentInfo: ExcludeUser: false Assignee: 21e6e782-f760-43d6-aa1c-d614ce966d8c AutoAssignee: cb11332d-1ec4-4ecf-95fe-ce94cca20a34 GroupId: 4f4a7eb9-7978-4860-a293-a254d15f3e29 Created: 1565335439328 DelegationType: DELEGATING CreatedBy: 21e6e782-f760-43d6-aa1c-d614ce966d8c IsDelegation: true schema: title: Tradeshift Public API 1.0 - AutoAssignmentsCompleteInfoPagedList required: - numPages - pageId - itemsPerPage - itemCount type: object additionalProperties: false properties: numPages: type: integer pageId: type: integer itemsPerPage: type: integer itemCount: type: integer Items: type: array items: type: object properties: ExcludeUser: type: boolean Assignee: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string AutoAssignee: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string GroupId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string Created: type: number DelegationType: type: string CreatedBy: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string IsDelegation: type: boolean required: - ExcludeUser - Assignee - AutoAssignee - GroupId - Created - DelegationType - CreatedBy - IsDelegation description: Get paginated company auto assignments. operationId: get-rest-external-documents-assignments-companies-companyid-autoassignments parameters: - name: page in: query description: The current page of the result set to be fetched schema: default: 0 type: integer - name: limit in: query description: The limit of the result set to return, also page size schema: default: 10 type: integer x-annotation-dx-category: documents-assignments summary: get company auto assignments tags: - dx-category--documents-assignments /rest/external/documents/assignments/companies/{companyid}/sparse: parameters: - name: companyid in: path required: true schema: type: string description: UUID identifier of the company account. get: responses: '200': description: Paginated company assignments list. content: application/json: example: itemsPerPage: 2 itemCount: 2 numPages: 1 pageId: 0 Assignments: - DocumentId: ac304edf-7fa7-49c3-8f1c-e82c037cf743 DocumentType: mimeType: text/xml documentProfileId: tradeshift.assignment.1.0 type: assignment Tags: Tag: [] ItemInfos: [] ConversationStates: [] CopyIndicator: false Deleted: false SourceDocument: DocumentType: AssignmentType IssueDate: value: '2019-04-02T08:38:25.139Z' IssueTime: value: '2019-04-02T08:38:25.139Z' Assignee: - PartyIdentification: - ID: value: a482b987-7c39-40e2-a526-03549d5fe668 Contact: ElectronicMail: value: george.owen@simons-catering.test.ts.sv Person: - FirstName: value: Simon FamilyName: value: Owen Delegation: [] Subject: UUID: value: 867dd235-4b16-5212-b1aa-292bce33765e Type: APPROVAL OriginalDocumentId: value: 867dd235-4b16-5212-b1aa-292bce33765e Properties: [] schema: title: Tradeshift Public API 1.0 - AssignmentsPagedList required: - itemsPerPage - itemCount - numPages - pageId - Assignments type: object additionalProperties: false properties: itemsPerPage: type: integer itemCount: type: integer numPages: type: integer pageId: type: integer Assignments: type: array items: required: - DocumentType - Tags - ItemInfos - ConversationStates - CopyIndicator - Deleted - SourceDocument - Properties type: object properties: DocumentType: required: - mimeType - documentProfileId - type type: object properties: type: type: string mimeType: type: string documentProfileId: type: string Tags: required: - Tag type: object properties: Tag: type: array items: type: string ItemInfos: type: array items: type: string ConversationStates: type: array items: type: string CopyIndicator: type: boolean Deleted: type: boolean SourceDocument: required: - DocumentType - IssueTime - Assignee - Delegation - Subject - Type - OriginalDocumentId type: object properties: DocumentType: type: string IssueTime: required: - value type: object properties: value: type: string Assignee: type: array items: required: - PartyIdentification - Contact - Person type: object properties: PartyIdentification: type: array items: required: - ID type: object properties: ID: required: - value type: object properties: value: type: string schemeURI: type: string Contact: required: - ElectronicMail type: object properties: ElectronicMail: required: - value type: object properties: value: type: string Person: type: array items: type: string Delegation: type: array items: type: string Subject: required: - UUID type: object properties: UUID: required: - value type: object properties: value: type: string Type: type: string OriginalDocumentId: required: - value type: object properties: value: type: string Properties: type: array items: type: string description: Get paginated company assignments, using lightweight sparse composition of response data. operationId: get-rest-external-documents-assignments-companies-companyid-sparse parameters: - name: page in: query description: The current page of the result set to be fetched schema: default: 0 type: integer - name: limit in: query description: The limit of the result set to return, also page size schema: default: 10 type: integer x-annotation-dx-category: documents-assignments summary: get company assignments sparse tags: - dx-category--documents-assignments /rest/external/documents/assignments/groups/{groupId}/users/{userId}/autoassign: parameters: - name: groupId in: path required: true schema: type: string description: UUID identifier of auto assignment security group. - name: userId in: path required: true schema: type: string description: UUID identifier of the assignee user. get: responses: '200': description: An autoassignment has been found, auto-assignee user details are returned content: application/json: example: Id: 72585039-d82d-4f76-8531-bf52717d5957 CompanyAccountId: 8a4cdb4a-9ec5-4107-a55b-dedf3aa7b000 CompanyName: ELTEC Inc. ddmrafryuyaw Username: steve.armstrong@ddmrafryuyaw.eltec.test.ts.sv Language: en-us TimeZone: America/Los_Angeles Memberships: - UserId: 72585039-d82d-4f76-8531-bf52717d5957 GroupId: 8a4cdb4a-9ec5-4107-a55b-dedf3aa7b000 Role: a6a3edcd-00d9-427c-bf03-4ef0112ba16d Created: '2019-10-31T12:08:59.303Z' State: ACTIVE Type: PERSON FirstName: Steve LastName: Armstrong Visible: true schema: required: - Id - CompanyAccountId - CompanyName - Username - Language - Created - FirstName - LastName type: object properties: Id: type: string CompanyAccountId: type: string CompanyName: type: string Username: type: string Language: type: string TimeZone: type: string Created: type: string Memberships: type: array items: required: - UserId - GroupId - Role type: object properties: UserId: type: string GroupId: type: string Role: type: string State: type: string Type: type: string FirstName: type: string LastName: type: string Title: type: string Visible: type: boolean '401': description: Requesting user is not a member of the specified security group description: 'Endpoint used to fetch the auto-assignee for a specific user and a specific group id. The requesting user has to be a member of the inquired security group id. ' operationId: get-rest-external-documents-assignments-groups-groupid-users-userid-autoassign x-annotation-dx-category: documents-assignments summary: get user auto-assignment in specific group tags: - dx-category--documents-assignments /rest/external/documents/assignments/users/{userId}/autoassign: parameters: - name: userId in: path required: true schema: type: string description: UUID identifier of user account. get: responses: '200': description: Returns the assignment document content: application/json: example: DocumentType: AssignmentType UBLVersionID: value: '2.0' CustomizationID: value: urn:tradeshift.com:ubl-2.0-customizations:2010-06 ID: value: 18744cac-cab0-4508-950b-bb4983dbcfa6 IssueDate: value: 2016-11-29+01:00 IssueTime: value: 11:21:21.011+01:00 Assigner: PartyIdentification: - ID: value: e6e0b52f-ce77-4e0c-b7a1-d3c63f2857fb schemeURI: http://tradeshift.com/api/1.0/userId Contact: ElectronicMail: value: lma+buyer@tradeshift.com Person: FirstName: value: Marie FamilyName: value: Carter Assignee: - PartyIdentification: - ID: value: 2dc74f5e-4ac7-45bf-8b6b-67dcf9ae2920 schemeURI: http://tradeshift.com/api/1.0/userId Contact: ElectronicMail: value: lma+hhr@tradeshift.com Person: FirstName: value: Pete FamilyName: value: Johnson JobTitle: value: Head of HR Delegation: [] Subject: UUID: value: 2849ac7c-36c9-4b20-8ca1-dc29a4a6e2b8 DocumentType: value: USER Context: EmbeddedDocumentBinaryObject: value: ewogICJjb21tZW50IiA6IG51bGwsCiAgInVzZXIiIDogewogICAgIk1lbWJlcnNoaXBzIiA6IFsgewogICAgICAiUm9sZSIgOiAiZmU4ODhmYmItMTcyZi00NjdjLWI5YWQtZWZlMDcyMGZlY2Y5IiwKICAgICAgIlVzZXJJZCIgOiAiMjg0OWFjN2MtMzZjOS00YjIwLThjYTEtZGMyOWE0YTZlMmI4IiwKICAgICAgIkdyb3VwSWQiIDogImJlNjg2NWVlLWRhYmQtNDcxNi05YzlkLTg5YjZkZDk1NTMyYiIKICAgIH0gXSwKICAgICJDb21wYW55QWNjb3VudElkIiA6ICJiZTY4NjVlZS1kYWJkLTQ3MTYtOWM5ZC04OWI2ZGQ5NTUzMmIiLAogICAgIkZpcnN0TmFtZSIgOiAiTHlubiIsCiAgICAiVGl0bGUiIDogIkhSIE1hbmFnZXIgKE9uIEJlaGFsZiBvZikiLAogICAgIkNyZWF0ZWQiIDogIjIwMTYtMTAtMTlUMTU6NTU6MTYuMDQ3KzAyOjAwIiwKICAgICJDb21wYW55TmFtZSIgOiAiQnV5ZXIgbG1hK2J1eWVyQHRyYWRlc2hpZnQuY29tIiwKICAgICJUaW1lWm9uZSIgOiAiRXVyb3BlL0NvcGVuaGFnZW4iLAogICAgIlR5cGUiIDogIlBFUlNPTiIsCiAgICAiTGFuZ3VhZ2UiIDogImVuLXVzIiwKICAgICJVc2VybmFtZSIgOiAibG1hK29ib0B0cmFkZXNoaWZ0LmNvbSIsCiAgICAiU3RhdGUiIDogIkxPQ0tFRCIsCiAgICAiVmlzaWJsZSIgOiB0cnVlLAogICAgIklkIiA6ICIyODQ5YWM3Yy0zNmM5LTRiMjAtOGNhMS1kYzI5YTRhNmUyYjgiLAogICAgIkxhc3ROYW1lIiA6ICJLZW5uZWR5IgogIH0KfQ== format: app:Tradeshift.UserManagement.AssignmentEntryService mimeCode: text/plain ReminderDate: value: 2016-12-01+01:00 ReminderTime: value: 11:21:21.014+01:00 EscalationDate: value: 2016-12-06+01:00 EscalationTime: value: 11:21:21.014+01:00 VendorId: tradeshift Type: REASSIGN schema: required: - DocumentType - UBLVersionID - CustomizationID - ID - IssueDate - IssueTime - Assigner - Assignee - Delegation - Subject - Context - ReminderDate - ReminderTime - EscalationDate - EscalationTime - VendorId - Type type: object properties: DocumentType: type: string UBLVersionID: required: - value type: object properties: value: type: string CustomizationID: required: - value type: object properties: value: type: string ID: required: - value type: object properties: value: type: string IssueDate: required: - value type: object properties: value: type: string IssueTime: required: - value type: object properties: value: type: string Assigner: required: - PartyIdentification - Contact - Person type: object properties: PartyIdentification: type: array items: required: - ID type: object properties: ID: required: - value - schemeURI type: object properties: value: type: string schemeURI: type: string Contact: required: - ElectronicMail type: object properties: ElectronicMail: required: - value type: object properties: value: type: string Person: required: - FirstName - FamilyName type: object properties: FirstName: required: - value type: object properties: value: type: string FamilyName: required: - value type: object properties: value: type: string Assignee: type: array items: required: - PartyIdentification - Contact - Person type: object properties: PartyIdentification: type: array items: required: - ID type: object properties: ID: required: - value - schemeURI type: object properties: value: type: string schemeURI: type: string Contact: required: - ElectronicMail type: object properties: ElectronicMail: required: - value type: object properties: value: type: string Person: required: - FirstName - FamilyName - JobTitle type: object properties: FirstName: required: - value type: object properties: value: type: string FamilyName: required: - value type: object properties: value: type: string JobTitle: required: - value type: object properties: value: type: string Delegation: type: array items: type: string Subject: required: - UUID - DocumentType type: object properties: UUID: required: - value type: object properties: value: type: string DocumentType: required: - value type: object properties: value: type: string Context: required: - EmbeddedDocumentBinaryObject type: object properties: EmbeddedDocumentBinaryObject: required: - value - format - mimeCode type: object properties: value: type: string format: type: string mimeCode: type: string ReminderDate: required: - value type: object properties: value: type: string ReminderTime: required: - value type: object properties: value: type: string EscalationDate: required: - value type: object properties: value: type: string EscalationTime: required: - value type: object properties: value: type: string VendorId: type: string Type: type: string '400': description: Bad request error. description: Returns the assignment document. operationId: get-rest-external-documents-assignments-users-userid-autoassign parameters: - name: subjectType in: query description: The subject of the Assignment [DOCUMENT, USER, COMPANY, CONNECTION, NETWORK_REQUEST] schema: default: DOCUMENT type: string x-annotation-dx-category: documents-assignments summary: get user assignments tags: - dx-category--documents-assignments /rest/external/documents/assignments/users/{userId}/autoassign/detail: parameters: - name: userId in: path required: true schema: type: string description: User UUID identifier get: responses: '200': description: '' content: text/xml: example: "\n \n 0daab548-3990-41ed-b0f4-eb197e693df1\n\ \ 093aafb9-2620-4655-885e-888f2a65c59c\n Tradeshift\n\ \ steve.armstrong@example.org\n en-us\n GMT\n\ \ \n \n 0daab548-3990-41ed-b0f4-eb197e693df1\n\ \ 093aafb9-2620-4655-885e-888f2a65c59c\n a6a3edcd-00d9-427c-bf03-4ef0112ba16d\n\ \ \n \n 2016-06-07T14:29:05.601+02:00\n\ \ ACTIVE\n PERSON\n Steve\n \ \ Armstrong\n boss\n true\n \n\ \ \n false\n 0daab548-3990-41ed-b0f4-eb197e693df1\n\ \ \n true\n DELEGATING\n\ \ \n\n" schema: type: object description: Returns the auto assignment details of an user. operationId: get-rest-external-documents-assignments-users-userid-autoassign-detail x-annotation-dx-category: documents-assignments summary: get user assignments detail tags: - dx-category--documents-assignments /rest/external/documents/assignments/users/{userId}/autoassign/{autoAssigneeId}: parameters: - name: userId in: path required: true schema: type: string description: The assignee id - name: autoAssigneeId in: path required: true schema: type: string description: The autoassignee id delete: responses: '200': description: The requested auto assignment has been deleted '304': description: Couldn't find the requested assignment for deletion description: Delete one assignment as identified by the path parameters and the requester's group id operationId: delete-rest-external-documents-assignments-users-userid-autoassign-autoassigneeid parameters: - name: groupId in: query description: Group id associated to this autoassignment. If this is missing, the X-Tradeshift-TenantId header value is used schema: type: string x-annotation-dx-category: documents-assignments summary: delete auto assignment tags: - dx-category--documents-assignments /rest/external/documents/assignments/users/{userId}/autoassign/{autoAssigneeId}/delegationType/{delegationType}: parameters: - name: userId in: path required: true schema: type: string description: User UUID identifier for the assigner - name: autoAssigneeId in: path required: true schema: type: string description: User UUID identifier for the assignee - name: delegationType in: path required: true schema: type: string description: Type of delegation to be applied put: responses: '204': description: Autoassignment created. '401': description: The requesting user is not a member of the specified security group description: Create an autoassignment from userId to autoAssigneeId operationId: put-rest-external-documents-assignments-users-userid-autoassign-autoassigneeid-delegationtype-delegationtype parameters: - name: excludeUser in: query description: Whether to exclude the user schema: default: false type: boolean - name: groupId in: query description: Group id associated to this autoassignment. If this is missing, the X-Tradeshift-TenantId header value is used schema: type: string x-annotation-dx-category: documents-assignments summary: create autoassignment tags: - dx-category--documents-assignments /rest/external/documents/assignments/users/{userId}/autoassigners/detail: parameters: - name: userId in: path required: true schema: type: string description: User UUID identifier get: responses: '200': description: '' content: application/json: example: AutoAssigners: - User: Id: 0daab548-3990-41ed-b0f4-eb197e693df1 CompanyAccountId: 093aafb9-2620-4655-885e-888f2a65c59c CompanyName: Tradeshift Username: steve.armstrong@example.org Language: en TimeZone: GMT Memberships: - UserId: 0daab548-3990-41ed-b0f4-eb197e693df1 GroupId: 093aafb9-2620-4655-885e-888f2a65c59c Role: a6a3edcd-00d9-427c-bf03-4ef0112ba16d Created: '2016-06-07T14:29:05.601+02:00' State: ACTIVE Type: PERSON FirstName: Steve LastName: Armstrong Title: boss Visible: true AutoAssignee: ExcludeUser: false UserID: 0daab548-3990-41ed-b0f4-eb197e693df1 Created: 1472655207107 IsDelegation: true DelegationType: DELEGATING schema: required: - AutoAssigners type: object properties: AutoAssigners: type: array items: required: - User - AutoAssignee type: object properties: User: required: - Id - CompanyAccountId - CompanyName - Username - Language - TimeZone - Memberships - Created - State - Type - FirstName - LastName - Title - Visible type: object properties: Id: type: string CompanyAccountId: type: string CompanyName: type: string Username: type: string Language: type: string TimeZone: type: string Created: type: string Memberships: type: array items: required: - UserId - GroupId - Role type: object properties: UserId: type: string GroupId: type: string Role: type: string State: type: string Type: type: string FirstName: type: string LastName: type: string Title: type: string Visible: type: boolean AutoAssignee: required: - ExcludeUser - UserID - Created - IsDelegation - DelegationType type: object properties: ExcludeUser: type: boolean UserID: type: string Created: type: integer IsDelegation: type: boolean DelegationType: type: string description: Returns the all assigners that activated auto assign or delegate to current user operationId: get-rest-external-documents-assignments-users-userid-autoassigners-detail x-annotation-dx-category: documents-assignments summary: find assigners by user tags: - dx-category--documents-assignments /rest/external/documents/assignments/users/{userid}/sparse: parameters: - name: userid in: path required: true schema: type: string description: UUID identifier of user account. get: responses: '200': description: Paginated user assignments list. content: application/json: example: itemsPerPage: 2 itemCount: 2 numPages: 1 pageId: 0 Assignments: - DocumentId: ac304edf-7fa7-49c3-8f1c-e82c037cf743 DocumentType: mimeType: text/xml documentProfileId: tradeshift.assignment.1.0 type: assignment Tags: Tag: [] ItemInfos: [] ConversationStates: [] CopyIndicator: false Deleted: false SourceDocument: DocumentType: AssignmentType IssueDate: value: '2019-04-02T08:38:25.139Z' IssueTime: value: '2019-04-02T08:38:25.139Z' Assignee: - PartyIdentification: - ID: value: a482b987-7c39-40e2-a526-03549d5fe668 Contact: ElectronicMail: value: george.owen@simons-catering.test.ts.sv Person: - FirstName: value: Simon FamilyName: value: Owen Delegation: [] Subject: UUID: value: 867dd235-4b16-5212-b1aa-292bce33765e Type: APPROVAL OriginalDocumentId: value: 867dd235-4b16-5212-b1aa-292bce33765e Properties: [] schema: title: Tradeshift Public API 1.0 - AssignmentsPagedList required: - itemsPerPage - itemCount - numPages - pageId - Assignments type: object additionalProperties: false properties: itemsPerPage: type: integer itemCount: type: integer numPages: type: integer pageId: type: integer Assignments: type: array items: required: - DocumentType - Tags - ItemInfos - ConversationStates - CopyIndicator - Deleted - SourceDocument - Properties type: object properties: DocumentType: required: - mimeType - documentProfileId - type type: object properties: type: type: string mimeType: type: string documentProfileId: type: string Tags: required: - Tag type: object properties: Tag: type: array items: type: string ItemInfos: type: array items: type: string ConversationStates: type: array items: type: string CopyIndicator: type: boolean Deleted: type: boolean SourceDocument: required: - DocumentType - IssueTime - Assignee - Delegation - Subject - Type - OriginalDocumentId type: object properties: DocumentType: type: string IssueTime: required: - value type: object properties: value: type: string Assignee: type: array items: required: - PartyIdentification - Contact - Person type: object properties: PartyIdentification: type: array items: required: - ID type: object properties: ID: required: - value type: object properties: value: type: string schemeURI: type: string Contact: required: - ElectronicMail type: object properties: ElectronicMail: required: - value type: object properties: value: type: string Person: type: array items: type: string Delegation: type: array items: type: string Subject: required: - UUID type: object properties: UUID: required: - value type: object properties: value: type: string Type: type: string OriginalDocumentId: required: - value type: object properties: value: type: string Properties: type: array items: type: string description: Get paginated user assignments, using lightweight sparse composition of response data operationId: get-rest-external-documents-assignments-users-userid-sparse parameters: - name: page in: query description: The current page of the result set to be fetched schema: default: 0 type: integer - name: limit in: query description: The limit of the result set to return, also page size schema: default: 10 type: integer - name: type in: query description: Type of the assignment to include in the result set schema: type: string x-annotation-dx-category: documents-assignments summary: get user assignments sparse tags: - dx-category--documents-assignments /rest/external/documents/companies/{owningCompanyId}/{documentId}: parameters: - name: owningCompanyId in: path required: true schema: type: string description: UUID identifier of company account owning the document. - name: documentId in: path required: true schema: type: string description: Document UUID identifier get: responses: '307': description: 'Successful response ' headers: Location: schema: type: string '404': description: 'Document not found or the security check do not pass ' description: 'Retrieves a document in the context of an owning company. If the supplied authentication context has access to see document identified by {documentId}, meaning the sender of the document, then returns a redirect to GET the document with {documentId}. If the supplied authentication context does not have access to the document, then checks to see if it has access to a document that references the supplied {documentId}, and returns a redirect to GET that referencing document instead. This endpoint is used for example when the receiver of a document does not know the id of the document from his side, but instead knows the company who sent it and the document id from that company context. The response will be a redirect to GET a content of the document accessible by the receiver. This only works if a sender tries to access one of its documents, or a receiver tries to find a content based on a sender side reference id. It does not work for if a sender tries to access a document content based on the reference to a receiver side, because this information is stored only on the receiver side copy of the document. ' operationId: get-rest-external-documents-companies-owningcompanyid-documentid parameters: - name: Accept in: header required: true description: 'The MIME media type of the response content. Example: text/xml, application/json, application/* ' schema: default: text/xml type: string x-annotation-dx-category: documents-document summary: Get company document tags: - dx-category--documents-document /rest/external/documents/csv: get: responses: '200': description: The list of documents as text/csv. '400': description: Bad request error '406': description: The request uses Accept headers that the server is unable to fulfill description: Gets a list of documents in CSV format for the current user. If multiple criteria are specified, they act as logical AND, unless specified otherwise. Drafts are not returned by default, unless stag=draft is specified. Could be sorted by DueDate, LastEdit, Number, Amount, Date, Type. The returned mime-type is always text/csv regardless if Accept header is application/csv or text/csv. operationId: get-rest-external-documents-csv parameters: - name: Accept in: header required: true description: Media types which are acceptable for the response. The possible values are application/csv and text/csv. schema: enum: - text/csv - application/csv type: string - name: tag in: query description: The tag the document must have. Can be used multiple times, which is interpreted as OR unless you set useAndOperatorForTags to true, then it will be AND. schema: type: string - name: useAndOperatorForTags in: query description: It sets the tags based search to meet all criteria within the set of provided filters. schema: default: false type: boolean - name: withouttag in: query description: The tag the document must not have. Can be used multiple times, which is interpreted as AND. schema: type: string - name: propertykey in: query description: Must be specified together with propertyvalue. Each pair of propertykey and propertyvalue will be interpreted as AND. schema: type: string - name: propertyvalue in: query description: See propertykey. schema: type: string - name: ascending in: query description: Whether the documents are ordered in ascending or descending order (for last edited date), defaults to descending. schema: default: false type: boolean - name: type in: query description: The type of documents to include. Can be used multiple times, which is interpreted as OR. schema: type: string - name: limit in: query description: Maximum number of results to return. This is also the number of results on each skipped page. schema: default: 25 type: integer - name: stag in: query description: The system tag the document must have. Can be used multiple times, which is interpreted as OR. Known system include "inbox", "outbox", "draft", "sales", "purchases", "deleted". schema: type: string - name: minissuedate in: query description: Earliest issue date of documents to match (according to UBL content). schema: type: string - name: maxissuedate in: query description: Latest issue date of documents to match (according to UBL content). schema: type: string - name: createdBefore in: query description: Limits documents to those which were created before the given timestamp, formatted as a XSD-timestamp. schema: type: string - name: createdAfter in: query description: Limits documents to those which were created after the given timestamp, formatted as a XSD-timestamp. schema: type: string - name: state in: query description: 'Represents the state (e.g. SENT, DELIVERED, ACCEPTED) of the searched documents. Can be used multiple times, which is interpreted as OR. Accepted values are: UNDETERMINED, IN_TRANSIT, PENDING_NOT_A_CONTACT, FAILED_DELIVERY, SENT, DELIVERED, ACCEPTED, OVERDUE, PAID_UNCONFIRMED, PAID_CONFIRMED, REJECTED_BY_SENDER, REJECTED_BY_RECEIVER, DISPUTED_BY_RECEIVER, CLOSED, REPLACED, AWAITING_ASSISTANCE, ASSISTANCE_PROVIDED, CANCELED, ASSISTANCE_CANCELED, PUNCHOUT_SENT, PUNCHOUT_EDIT. ' schema: type: string - name: ordering in: query description: Result ordering (e.g. DueDate, Amount, Date). schema: default: LastEdit type: string - name: sales in: query description: Whether document is sale or not. schema: type: boolean - name: query in: query description: Text to search. schema: type: string - name: copyIndicator in: query description: Whether to search only copies of documents, originals or both. schema: type: boolean - name: onlycopies in: query description: Whether to search only copies of documents. schema: default: false type: boolean - name: conversationId in: query description: The document conversation id used for getting its related documents. schema: type: string - name: totalFrom in: query description: It represents the minimum value of the total range that can be used to filter documents. schema: type: number - name: totalTo in: query description: It represents the maximum value of the total range that can be used to filter documents. schema: type: number - name: currency in: query description: It represents the currency that can be used to filter documents only of that currency. schema: type: string - name: useOrOperatorForProperties in: query description: It sets the property based search to meet at least one criteria within the set of provided filters. schema: type: boolean - name: page in: query description: Result page to return. Each page has 'limit' number of results. schema: default: 0 type: integer - name: id in: query description: The documents to get DocumentInformation for (a Tradeshift UUID value) schema: type: string - name: sentBy in: query description: Sender company tenant id (a Tradeshift UUID value). schema: type: string - name: sentTo in: query description: Receiver company tenant ids (a Tradeshift UUID value). schema: type: string - name: processState in: query description: The _user_ state the document must have (see /metadata). Can be used multiple times, which is interpreted as OR. Note that this parameter is misnamed as it searches among all user states, not just process state. schema: type: string - name: withoutProcessState in: query description: The process state the document must not have (see /metadata). Can be used multiple times, which is interpreted as AND. Note that this parameter is misnamed as it searches among all user states, not just process state. schema: type: string - name: branchId in: query description: Document business ids. Can be used multiple times, which is interpreted as OR. schema: type: string - name: totals in: query description: Whether to calculate the documents total amount or not. schema: default: false type: boolean - name: onlydrafts in: query description: Whether to search only drafts. schema: default: false type: boolean - name: onlydeleted in: query description: Whether to search only deleted documents. schema: default: false type: boolean - name: requesterId in: query description: 'This field can be used to filter documents by the given list of requester Ids, only applicable for Purchase Request Documents. The requester is either the creating person or the document or if specified the "on behalf of" person ' schema: type: string - name: invoiceTypeCode in: query description: 'This field represents the type of invoice for an invoice document. If the field is missing then we will have a normal/commercial invoice filter. For value 325 proforma invoice type will be searched and for value 386 we will have prepayment invoice. ' schema: type: array items: type: number - name: profileId in: query description: It represents the profile id of a given document. schema: type: string x-annotation-dx-category: documents-document summary: find documents (CSV support) tags: - dx-category--documents-document /rest/external/documents/dispatcher: post: responses: '201': description: '201 (Created) Indicates the document was created and dispatched. The Location response header will contain the URI of the dispatch of the new document. ' content: text/xml: example: "\n e4f2e813-dfff-4609-8317-912da569238e\n\ \ 52109541-64b9-4dce-980b-46d972cc8bfd\n" schema: type: object '400': description: Bad Request due to invalid input. content: text/xml: example: ErrorCode: BadRequest Message: Could not resolve type nonExistentType ErrorDetail: - Key: message Value: Could not resolve type nonExistentType - Key: stacktrace Value: "com.tradeshift.commons.exception.BadRequestException: Could not resolve type nonExistentType\n\t\ at com.tradeshift.coding.rest.CodingResource.getCodingLists(CodingResource.java:85)\n\t" ValidationError: [] RequestId: 2c941598-489c-4fac-8543-03cb921feaf7 schema: title: Tradeshift Public API 1.0 - TradeshiftException required: - ErrorCode - Message - RequestId type: object additionalProperties: false properties: ErrorCode: type: string Message: type: string ErrorDetail: type: array items: type: object additionalProperties: false properties: Key: type: string Value: type: string required: - Key - Value ValidationError: type: array items: type: object RequestId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string description: 'Store and dispatch the document - the actual document content must be sent as the entity/body of the POST call. ' operationId: post-rest-external-documents-dispatcher requestBody: content: text/xml: example: "\n 2.0\n urn:tradeshift.com:ubl-2.0-customizations:2010-06\n\ \ urn:www.cenbii.eu:profile:bii04:ver1.0\n\ \ 123456789\n 2017-11-28\n 12:00:00\n\ \ \n \n 4a8fc13e-2dc5-4fc6-a20e-6835484b83c2\n\ \ \n \n Sender Name\n \n\ \ \n user@email.com\n \n \n\ \ \n \n e27b5bdd-fe23-4c82-b069-e89a596b519d\n\ \ \n \n Receiver Name\n \n\ \ \n user@email.com\n \n \n\ \ \n \n 1\n BusinessAccept\n Your\ \ invoice is now BusinessAccept\n \n \n 987654321\n\ \ 2017-11-28\n Invoice\n \n \n\n" schema: type: object application/xml: example: "\n 2.0\n urn:tradeshift.com:ubl-2.0-customizations:2010-06\n\ \ urn:www.cenbii.eu:profile:bii04:ver1.0\n\ \ 123456789\n 2017-11-28\n 12:00:00\n\ \ \n \n 4a8fc13e-2dc5-4fc6-a20e-6835484b83c2\n\ \ \n \n Sender Name\n \n\ \ \n user@email.com\n \n \n\ \ \n \n e27b5bdd-fe23-4c82-b069-e89a596b519d\n\ \ \n \n Receiver Name\n \n\ \ \n user@email.com\n \n \n\ \ \n \n 1\n BusinessAccept\n Your\ \ invoice is now BusinessAccept\n \n \n 987654321\n\ \ 2017-11-28\n Invoice\n \n \n\n" schema: type: object required: true parameters: - name: documentId in: query required: true description: 'A client-generated id for the new document to be dispatched ' schema: type: string - name: documentProfileId in: query required: true description: 'The document profile id that the document adheres to (e.g. \"nes.p5.invoice.ubl.2.1.dk\"), from the ''documentprofiles'' resource ' schema: type: string - name: documentSource in: query description: Track the document's source - We save the source of the document in a new table called documentsource so that we know where the document was dispatched from. schema: type: string x-annotation-dx-category: documents-document summary: send document tags: - dx-category--documents-document /rest/external/documents/dispatches: get: responses: '200': description: 'The list the latest dispatch information, if found. If no document is found then an empty list is returned. ' content: application/json: schema: example: DispatchId: 2ecdb6ac-b133-4c7c-80aa-650391af98f6 ObjectId: 383eb7da-31dd-5c4e-878c-026443e46067 Created: '2016-09-02T01:07:21.461Z' SenderUserId: 63ef84c2-83c0-473b-a634-3a57d8109b39 DispatchState: COMPLETED LastStateChange: '2016-09-02T01:07:21.461Z' ReceiverConnectionId: 44dc8810-e582-5252-963b-20fd0754765f DispatchChannel: EMAIL description: 'Get a list of the latest dispatch information by object IDs. The returned data contains information like: the creation time of the dispatch, the dispatch sender, the channel through which the document is dispatched, the current dispatch state, the ID of the object being dispatched, the connection ID used for dispatching and technical information containing the reason why a dispatch failed (returned only for failed dispatches). ' operationId: get-rest-external-documents-dispatches parameters: - name: Accept in: header required: true description: 'The MIME media type of the response content. Example: text/xml, application/json, application/* ' schema: default: text/xml type: string - name: documentId in: query description: List of document UUID identifiers schema: type: string - name: accept in: query description: Media type for response schema: type: string x-annotation-dx-category: documents-document summary: Get Latest Dispatches tags: - dx-category--documents-document /rest/external/documents/netAmount: get: responses: '200': description: The list of documents with corresponding net amount. '404': description: Bad request error description: Gets a list of document net amounts for a list of document ids. operationId: get-rest-external-documents-netamount parameters: - name: Accept in: header required: true description: Media types which are acceptable for the response. The possible values are text/xml and application/json. schema: enum: - application/xml - application/json type: string - name: documentIds in: query required: true description: The document uuid. Can be used multiple times. schema: type: string x-annotation-dx-category: documents-document summary: get document net amount tags: - dx-category--documents-document /rest/external/documents/quotes/template: get: responses: '200': description: '' content: application/json: example: DocumentProfileId: tradeshift.quote.1.0 TaxCategories: StackedTaxes: [] DefaultTaxIndex: 0 Ubl: DocumentType: QuotationType UBLVersionID: value: '2.0' CustomizationID: value: urn:tradeshift.com:ubl-2.0-customizations:2010-06 ProfileID: value: urn:www.cenbii.eu:profile:bii04:ver1.0 schemeID: CWA 16073:2010 schemeAgencyID: CEN/ISSS WS/BII schemeVersionID: '1' ID: value: '1' IssueDate: value: '2017-04-06' PricingCurrencyCode: value: CNY AdditionalDocumentReference: - ID: value: HALF_EVEN DocumentTypeCode: value: RoundingRule listID: urn:tradeshift.com:api:1.0:documenttypecode SellerSupplierParty: Party: PartyIdentification: - ID: value: c9989bf0-0bf4-4500-86e9-af8edfcca6eb schemeID: TS:ID PartyName: - Name: value: Test Supplier PostalAddress: AddressFormatCode: value: '5' listID: UN/ECE 3477 listAgencyID: '6' listVersionID: D08B StreetName: value: street BuildingNumber: value: '6' CityName: value: city PostalZone: value: '100000' CountrySubentity: value: test Country: IdentificationCode: value: CN Contact: ID: value: '1' Name: value: Steve Armstrong Person: FirstName: value: Steve FamilyName: value: Armstrong QuotedMonetaryTotal: LineExtensionAmount: value: 0 currencyID: CNY TaxExclusiveAmount: value: 0 currencyID: CNY TaxInclusiveAmount: value: 0 currencyID: CNY PayableAmount: value: 0 currencyID: CNY DocumentProfile: AttachmentRequired: false DocumentProfileId: tradeshift.quote.1.0 PaymentMeansCode: - '10' - '20' - '42' - porta-31-a DocumentType: quote DocumentFields: [] schema: type: object properties: DocumentProfile: type: object properties: AttachmentRequired: type: boolean DocumentFields: type: array items: type: string DocumentProfileId: type: string DocumentType: type: string PaymentMeansCode: type: array items: type: string required: - AttachmentRequired - DocumentFields - DocumentProfileId - DocumentType - PaymentMeansCode DocumentProfileId: type: string TaxCategories: type: object properties: DefaultTaxIndex: type: integer StackedTaxes: type: array items: type: string required: - DefaultTaxIndex - StackedTaxes Ubl: type: object properties: AdditionalDocumentReference: type: array items: type: object properties: DocumentTypeCode: type: object properties: listID: type: string value: type: string required: - listID - value ID: type: object properties: value: type: string required: - value required: - DocumentTypeCode - ID CustomizationID: type: object properties: value: type: string required: - value DocumentType: type: string ID: type: object properties: value: type: string required: - value IssueDate: type: object properties: value: type: string required: - value PricingCurrencyCode: type: object properties: value: type: string required: - value ProfileID: type: object properties: schemeAgencyID: type: string schemeID: type: string schemeVersionID: type: string value: type: string required: - schemeAgencyID - schemeID - schemeVersionID - value QuotedMonetaryTotal: type: object properties: LineExtensionAmount: type: object properties: currencyID: type: string value: type: integer required: - currencyID - value PayableAmount: type: object properties: currencyID: type: string value: type: integer required: - currencyID - value TaxExclusiveAmount: type: object properties: currencyID: type: string value: type: integer required: - currencyID - value TaxInclusiveAmount: type: object properties: currencyID: type: string value: type: integer required: - currencyID - value required: - LineExtensionAmount - PayableAmount - TaxExclusiveAmount - TaxInclusiveAmount SellerSupplierParty: type: object properties: Party: type: object properties: Contact: type: object properties: ID: type: object properties: value: type: string required: - value Name: type: object properties: value: type: string required: - value required: - ID - Name PartyIdentification: type: array items: type: object properties: ID: type: object properties: schemeID: type: string value: type: string required: - schemeID - value required: - ID PartyName: type: array items: type: object properties: Name: type: object properties: value: type: string required: - value required: - Name Person: type: object properties: FamilyName: type: object properties: value: type: string required: - value FirstName: type: object properties: value: type: string required: - value required: - FamilyName - FirstName PostalAddress: type: object properties: AddressFormatCode: type: object properties: listAgencyID: type: string listID: type: string listVersionID: type: string value: type: string required: - listAgencyID - listID - listVersionID - value BuildingNumber: type: object properties: value: type: string required: - value CityName: type: object properties: value: type: string required: - value Country: type: object properties: IdentificationCode: type: object properties: value: type: string required: - value required: - IdentificationCode CountrySubentity: type: object properties: value: type: string required: - value PostalZone: type: object properties: value: type: string required: - value StreetName: type: object properties: value: type: string required: - value required: - AddressFormatCode - BuildingNumber - CityName - Country - CountrySubentity - PostalZone - StreetName required: - Contact - PartyIdentification - PartyName - Person - PostalAddress required: - Party UBLVersionID: type: object properties: value: type: string required: - value required: - AdditionalDocumentReference - CustomizationID - DocumentType - ID - IssueDate - PricingCurrencyCode - ProfileID - QuotedMonetaryTotal - SellerSupplierParty - UBLVersionID required: - DocumentProfile - DocumentProfileId - TaxCategories - Ubl description: Get a quote template. operationId: get-rest-external-documents-quotes-template parameters: - name: connectionId in: query description: The receiving connection id. It is used to preset data in template. schema: type: string - name: companyAccountId in: query description: The receiver company id. It is used to preset data in template. schema: type: string - name: quoteId in: query description: The receiver company id. It is used to preset data in template. schema: type: string x-annotation-dx-category: documents-quotes summary: get quote template tags: - dx-category--documents-quotes /rest/external/documents/receiptadvices/bynumber/{number}: parameters: - name: number in: path required: true schema: type: string description: Business id of the receipt advice document head: responses: '200': description: Document exists '404': description: Document not found description: Check for the existence of a document via its business id operationId: head-rest-external-documents-receiptadvices-bynumber-number x-annotation-dx-category: documents-receipt_advices summary: receipt advices by number tags: - dx-category--documents-receipt_advices /rest/external/documents/receiptadvices/nextnumber: get: responses: '200': description: '' content: text/plain: schema: example: '"27"' '400': description: '' '401': description: '' '404': description: '' content: text/xml: schema: example: "\n ResourceNotFound\n Error: ResourceNotFound:\ \ The object did not exist\n fff29544-8039-499f-91c5-b3c9e4e3d8b1\n\ \n" description: Get next available business id operationId: get-rest-external-documents-receiptadvices-nextnumber x-annotation-dx-category: documents-receipt_advices summary: next available receipt advice tags: - dx-category--documents-receipt_advices /rest/external/documents/received/{documentId}: parameters: - name: documentId in: path required: true schema: type: string description: The new document's id put: responses: '204': description: 'Successful receival of the document ' '400': description: 'No document supplied in the body ' description: 'This endpoint saves the content of a document for cases when a company has received a document outside of the Tradeshift platform but wants to add it to the document list anyway. It imports a document as if it has been received at some point in time. It will be visible in the document list, but replies, such as comments, will not be possible. Only the receiver side copy is created and the original sender will not be notified even if they are on the platform and they are connected. ' operationId: put-rest-external-documents-received-documentid requestBody: content: '*/*': schema: properties: file: description: The content of the document type: string required: - file type: object required: true parameters: - name: Content-Type in: header required: true description: 'The MIME media type of the request content. Example: */* ' schema: type: string x-annotation-dx-category: documents-document summary: Receive document tags: - dx-category--documents-document /rest/external/documents/requisitions/RequisitionLine: post: responses: '201': description: '' content: application/vnd.oasis.ubl+json: schema: example: _B: urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2 _S: urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2 _D: http://tradeshift.com/api/public/1.0 Requisition: - ID: - IdentifierContent: bac9a69c-ec35-4a12-a455-9fb57c24dbfb Note: - TextContent: I want to request a purchase OrderDocumentReference: - ID: - IdentifierContent: order-01 - ID: - IdentifierContent: order-02 OriginatorCustomerParty: - Party: - Contact: - ID: - IdentificationSchemeUniformResourceIdentifier: http://tradeshift.com/api/1.0/userId IdentifierContent: UUID ElectronicMail: - TextContent: john@johnsson.se Delivery: - DeliveryLocation: - Address: - ID: - IdentificationSchemeIdentifier: GLN IdentificationSchemeAgencyIdentifier: '9' IdentifierContent: '1234567890123' Postbox: - TextContent: '123' StreetName: - TextContent: Rådhusgatan AdditionalStreetName: - TextContent: 2nd floor BuildingNumber: - TextContent: '5' Department: - TextContent: Purchasing departmen CityName: - TextContent: Stockholm PostalZone: - TextContent: '11000' Region: - TextContent: RegionX Country: - IdentificationCode: - CodeContent: SE AnticipatedMonetaryTotal: - PayableAmount: - AmountCurrencyIdentifier: USD AmountContent: 2108 RequisitionLine: - RequisitionPurposeCode: - CodeListIdentifier: urn:tradeshift.com:api:1.0:requisitionlinepurposecode CodeContent: BLANKET_PURCHASE_ORDER SupplierSharedPrice: - PriceAmount: - AmountCurrencyIdentifier: USD AmountContent: 100 LineItem: - ID: - IdentifierContent: '1' Note: - TextContent: Freetext note on line 1 Quantity: - QuantityUnitCode: EA QuantityContent: 1 LineExtensionAmount: - AmountCurrencyIdentifier: USD AmountContent: 1200 AccountingCostCode: - CodeContent: ProjectID123 Price: - PriceAmount: - AmountCurrencyIdentifier: USD AmountContent: 1200 BaseQuantity: - QuantityUnitCode: EA QuantityContent: 1 ValidityPeriod: - StartDate: - DateContent: '1977-05-15' - EndDate: - DateContent: '1977-05-15' Item: - Description: - TextContent: I want a brown sofa SellersItemIdentification: - IssuerParty: - PartyIdentification: - ID: - IdentifierContent: '444666777' PartyName: - Name: - TextContent: Sofastore CommodityClassification: - ItemClassificationCode: - CodeListIdentifier: UNSPSC CodeListAgencyIdentifier: '113' CodeContent: '56101502' DocumentReference: - ID: - IdentifierContent: order-01 UBLVersionID: - IdentifierContent: '2.0' CustomizationID: - IdentifierContent: urn:tradeshift.com:ubl-2.0-customizations:2010-06 ProfileID: - IdentificationSchemeIdentifier: CWA 16073:2010 IdentificationSchemeAgencyIdentifier: '1' IdentificationSchemeAgencyNameText: CEN/ISSS WS/BII IdentifierContent: urn:www.cenbii.eu:profile:bii04:ver1.0 CreationDate: - DateContent: '1977-05-15' CreationTime: - TimeContent: '1977-05-15' BuyerCustomerParty: - Party: - PartyIdentification: - ID: - IdentificationSchemeIdentifier: TS:ID IdentifierContent: 79eec713-cd84-4a4d-86b5-e35527ef3b3b PartyName: - Name: - TextContent: Zurich Contact: - ID: - IdentificationSchemeUniformResourceIdentifier: http://tradeshift.com/api/1.0/userId IdentifierContent: UUID ElectronicMail: - TextContent: pelle@johnsson.se description: Create a new Requisition from the requisition template containing the provided line operationId: post-rest-external-documents-requisitions-requisitionline requestBody: content: application/vnd.oasis.ubl+json: example: _B: urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2 _S: urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2 _D: http://tradeshift.com/api/public/1.0 RequisitionLine: - RequisitionPurposeCode: - CodeListIdentifier: urn:tradeshift.com:api:1.0:requisitionlinepurposecode CodeContent: BLANKET_PURCHASE_ORDER SupplierSharedPrice: - PriceAmount: - AmountCurrencyIdentifier: USD AmountContent: 100 LineItem: - ID: - IdentifierContent: '1' Note: - TextContent: Freetext note on line 1 Quantity: - QuantityUnitCode: EA QuantityContent: 1 LineExtensionAmount: - AmountCurrencyIdentifier: USD AmountContent: 1200 AccountingCostCode: - CodeContent: ProjectID123 Price: - PriceAmount: - AmountCurrencyIdentifier: USD AmountContent: 1200 BaseQuantity: - QuantityUnitCode: EA QuantityContent: 1 ValidityPeriod: - StartDate: - DateContent: '1977-05-15' - EndDate: - DateContent: '1977-05-15' Item: - Description: - TextContent: I want a brown sofa SellersItemIdentification: - IssuerParty: - PartyIdentification: - ID: - IdentifierContent: '444666777' PartyName: - Name: - TextContent: Sofastore CommodityClassification: - ItemClassificationCode: - CodeListIdentifier: UNSPSC CodeListAgencyIdentifier: '113' CodeContent: '56101502' DocumentReference: - ID: - IdentifierContent: order-01 schema: type: string required: true x-annotation-dx-category: documents-requisitions summary: create requisition tags: - dx-category--documents-requisitions /rest/external/documents/requisitions/RequisitionLine/template: get: responses: '200': description: '' content: application/vnd.oasis.ubl+json: schema: example: _B: urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2 _S: urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2 _D: http://tradeshift.com/api/public/1.0 RequisitionLine: - RequisitionPurposeCode: - CodeListIdentifier: urn:tradeshift.com:api:1.0:requisitionlinepurposecode CodeContent: BLANKET_PURCHASE_ORDER SupplierSharedPrice: - PriceAmount: - AmountCurrencyIdentifier: USD AmountContent: 100 LineItem: - ID: - IdentifierContent: '1' Note: - TextContent: Freetext note on line 1 Quantity: - QuantityUnitCode: EA QuantityContent: 1 LineExtensionAmount: - AmountCurrencyIdentifier: USD AmountContent: 1200 AccountingCostCode: - CodeContent: ProjectID123 Price: - PriceAmount: - AmountCurrencyIdentifier: USD AmountContent: 1200 BaseQuantity: - QuantityUnitCode: EA QuantityContent: 1 ValidityPeriod: - StartDate: - DateContent: '1977-05-15' - EndDate: - DateContent: '1977-05-15' Item: - Description: - TextContent: I want a brown sofa SellersItemIdentification: - IssuerParty: - PartyIdentification: - ID: - IdentifierContent: '444666777' PartyName: - Name: - TextContent: Sofastore CommodityClassification: - ItemClassificationCode: - CodeListIdentifier: UNSPSC CodeListAgencyIdentifier: '113' CodeContent: '56101502' DocumentReference: - ID: - IdentifierContent: order-01 description: Get a requisition line template. operationId: get-rest-external-documents-requisitions-requisitionline-template x-annotation-dx-category: documents-requisitions summary: get requisition line template tags: - dx-category--documents-requisitions /rest/external/documents/requisitions/create/fromquote: put: responses: '200': description: UUID of the requisition document, that was created from given quote '400': description: Bad request error. content: application/json: example: ErrorCode: BadRequest Message: Could not resolve type nonExistentType ErrorDetail: - Key: message Value: Could not resolve type nonExistentType - Key: stacktrace Value: "com.tradeshift.commons.exception.BadRequestException: Could not resolve type nonExistentType\n\t\ at com.tradeshift.coding.rest.CodingResource.getCodingLists(CodingResource.java:85)\n\t" ValidationError: [] RequestId: 2c941598-489c-4fac-8543-03cb921feaf7 schema: title: Tradeshift Private API 1.0 - ResponseError required: - RequestId - ErrorCode - Message type: object additionalProperties: false properties: RequestId: description: Unique identifier (UUID) of the request causing the error. pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ type: string ErrorCode: type: string Message: type: string ErrorDetail: type: array items: required: - Key - Value type: object properties: Key: type: string Value: type: string ValidationError: type: array items: type: object properties: ErrorCode: type: string SubErrorCode: type: string ErrorDetail: type: array items: required: - Key - Value type: object properties: Key: type: string Value: type: string Index: type: integer Message: type: string required: - ErrorCode - SubErrorCode - ErrorDetail - Index - Message description: Create a new requisition from given quote and save it as a draft operationId: put-rest-external-documents-requisitions-create-fromquote requestBody: content: text/plain: example: a7e78a06-81da-4221-8432-84a10012da7b schema: type: string required: true x-annotation-dx-category: documents-requisitions summary: create requisition from quote tags: - dx-category--documents-requisitions /rest/external/documents/requisitions/spawn: post: responses: '200': description: '' content: application/json: example: Documents: - DocumentId: f3875dae-5fe3-4ed7-a16f-c4ccb9871645 DocumentProfileId: tradeshift.order.1.0 schema: type: object properties: DocumentType: type: string UBLVersionID: required: - value type: object properties: value: type: string CustomizationID: required: - value type: object properties: value: type: string ProfileID: required: - value - schemeAgencyID type: object properties: value: type: string schemeAgencyID: type: string ID: required: - value type: object properties: value: type: string CreationDate: required: - value type: object properties: value: type: string BuyerCustomerParty: required: - Party type: object properties: Party: required: - PartyIdentification - PartyName - PostalAddress - Contact type: object properties: PartyIdentification: type: array items: required: - ID type: object properties: ID: required: - value - schemeID type: object properties: value: type: string schemeID: type: string PartyName: type: array items: required: - Name type: object properties: Name: required: - value type: object properties: value: type: string PostalAddress: required: - StreetName type: object properties: StreetName: required: - value type: object properties: value: type: string Contact: required: - ID - Name - ElectronicMail type: object properties: ID: required: - value - schemeURI type: object properties: value: type: string schemeURI: type: string Name: required: - value type: object properties: value: type: string ElectronicMail: required: - value type: object properties: value: type: string OriginatorCustomerParty: required: - Party type: object properties: Party: type: object Delivery: type: array items: required: - DeliveryAddress type: object properties: DeliveryAddress: required: - StreetName - BuildingName - CityName - PostalZone - CountrySubentity - Country type: object properties: StreetName: required: - value type: object properties: value: type: string BuildingName: required: - value type: object properties: value: type: string CityName: required: - value type: object properties: value: type: string PostalZone: required: - value type: object properties: value: type: string CountrySubentity: required: - value type: object properties: value: type: string Country: required: - IdentificationCode type: object properties: IdentificationCode: required: - value type: object properties: value: type: string DeliveryParty: required: - PartyName - PartyTaxScheme type: object properties: PartyIdentification: required: - ID type: object properties: ID: required: - value type: object properties: value: type: string PartyName: required: - Name type: object properties: Name: required: - value type: object properties: value: type: string PartyTaxScheme: required: - Id type: object properties: TaxScheme: required: - value type: object properties: value: type: string Despatch: type: object properties: DespatchAddress: required: - StreetName - BuildingName - CityName - PostalZone - CountrySubentity - Country type: object properties: StreetName: required: - value type: object properties: value: type: string BuildingName: required: - value type: object properties: value: type: string CityName: required: - value type: object properties: value: type: string PostalZone: required: - value type: object properties: value: type: string CountrySubentity: required: - value type: object properties: value: type: string Country: required: - IdentificationCode type: object properties: IdentificationCode: required: - value type: object properties: value: type: string DespatchParty: required: - PartyName - PartyTaxScheme type: object properties: PartyIdentification: required: - ID type: object properties: ID: required: - value type: object properties: value: type: string PartyName: required: - Name type: object properties: Name: required: - value type: object properties: value: type: string PartyTaxScheme: required: - Id type: object properties: TaxScheme: required: - value type: object properties: value: type: string AnticipatedMonetaryTotal: required: - PayableAmount type: object properties: PayableAmount: required: - value - currencyID type: object properties: value: type: integer currencyID: type: string required: - DocumentType - Delivery '423': description: The document is in locked state and order has been spawned from the given requisition. description: Spawn purchase orders based upon the received spawning command operationId: post-rest-external-documents-requisitions-spawn requestBody: content: application/json: example: DocumentId: 2b962986-7788-409e-b0ed-dfff61193b19 Orders: - isSpawned: false DocumentId: 65ef21fc-99e0-44b1-9c6e-214514d6b161 Lines: - value: '1' DocumentProfile: tradeshift.order.1.0 schema: required: - DocumentId type: object additionalProperties: true properties: DocumentId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string Orders: type: array items: type: object properties: DocumentId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string isSpawned: type: boolean DocumentProfile: type: string Lines: type: array items: type: object properties: value: type: string required: - value required: - DocumentId - isSpawned - DocumentProfile - Lines required: true x-annotation-dx-category: documents-requisitions summary: spawn requisition tags: - dx-category--documents-requisitions /rest/external/documents/requisitions/template: get: responses: '200': description: '' content: application/vnd.oasis.ubl+json: schema: example: _B: urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2 _S: urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2 _D: http://tradeshift.com/api/public/1.0 Requisition: - ID: - IdentifierContent: bac9a69c-ec35-4a12-a455-9fb57c24dbfb Note: - TextContent: I want to request a purchase OrderDocumentReference: - ID: - IdentifierContent: order-01 - ID: - IdentifierContent: order-02 OriginatorCustomerParty: - Party: - Contact: - ID: - IdentificationSchemeUniformResourceIdentifier: http://tradeshift.com/api/1.0/userId IdentifierContent: UUID ElectronicMail: - TextContent: john@johnsson.se Delivery: - DeliveryLocation: - Address: - ID: - IdentificationSchemeIdentifier: GLN IdentificationSchemeAgencyIdentifier: '9' IdentifierContent: '1234567890123' Postbox: - TextContent: '123' StreetName: - TextContent: Rådhusgatan AdditionalStreetName: - TextContent: 2nd floor BuildingNumber: - TextContent: '5' Department: - TextContent: Purchasing departmen CityName: - TextContent: Stockholm PostalZone: - TextContent: '11000' Region: - TextContent: RegionX Country: - IdentificationCode: - CodeContent: SE AnticipatedMonetaryTotal: - PayableAmount: - AmountCurrencyIdentifier: USD AmountContent: 2108 RequisitionLine: - RequisitionPurposeCode: - CodeListIdentifier: urn:tradeshift.com:api:1.0:requisitionlinepurposecode CodeContent: BLANKET_PURCHASE_ORDER SupplierSharedPrice: - PriceAmount: - AmountCurrencyIdentifier: USD AmountContent: 100 LineItem: - ID: - IdentifierContent: '1' Note: - TextContent: Freetext note on line 1 Quantity: - QuantityUnitCode: EA QuantityContent: 1 LineExtensionAmount: - AmountCurrencyIdentifier: USD AmountContent: 1200 AccountingCostCode: - CodeContent: ProjectID123 Price: - PriceAmount: - AmountCurrencyIdentifier: USD AmountContent: 1200 BaseQuantity: - QuantityUnitCode: EA QuantityContent: 1 ValidityPeriod: - StartDate: - DateContent: '1977-05-15' - EndDate: - DateContent: '1977-05-15' Item: - Description: - TextContent: I want a brown sofa SellersItemIdentification: - IssuerParty: - PartyIdentification: - ID: - IdentifierContent: '444666777' PartyName: - Name: - TextContent: Sofastore CommodityClassification: - ItemClassificationCode: - CodeListIdentifier: UNSPSC CodeListAgencyIdentifier: '113' CodeContent: '56101502' DocumentReference: - ID: - IdentifierContent: order-01 UBLVersionID: - IdentifierContent: '2.0' CustomizationID: - IdentifierContent: urn:tradeshift.com:ubl-2.0-customizations:2010-06 ProfileID: - IdentificationSchemeIdentifier: CWA 16073:2010 IdentificationSchemeAgencyIdentifier: '1' IdentificationSchemeAgencyNameText: CEN/ISSS WS/BII IdentifierContent: urn:www.cenbii.eu:profile:bii04:ver1.0 CreationDate: - DateContent: '1977-05-15' CreationTime: - TimeContent: '1977-05-15' BuyerCustomerParty: - Party: - PartyIdentification: - ID: - IdentificationSchemeIdentifier: TS:ID IdentifierContent: 79eec713-cd84-4a4d-86b5-e35527ef3b3b PartyName: - Name: - TextContent: Zurich Contact: - ID: - IdentificationSchemeUniformResourceIdentifier: http://tradeshift.com/api/1.0/userId IdentifierContent: UUID ElectronicMail: - TextContent: pelle@johnsson.se description: Get a requisition template. operationId: get-rest-external-documents-requisitions-template x-annotation-dx-category: documents-requisitions summary: requisition by template tags: - dx-category--documents-requisitions /rest/external/documents/requisitions/{documentId}/RequisitionLine: parameters: - name: documentId in: path required: true schema: type: string description: Document UUID identifier post: responses: '201': description: '' content: application/vnd.oasis.ubl+json: schema: example: _B: urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2 _S: urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2 _D: http://tradeshift.com/api/public/1.0 Requisition: - ID: - IdentifierContent: bac9a69c-ec35-4a12-a455-9fb57c24dbfb Note: - TextContent: I want to request a purchase OrderDocumentReference: - ID: - IdentifierContent: order-01 - ID: - IdentifierContent: order-02 OriginatorCustomerParty: - Party: - Contact: - ID: - IdentificationSchemeUniformResourceIdentifier: http://tradeshift.com/api/1.0/userId IdentifierContent: UUID ElectronicMail: - TextContent: john@johnsson.se Delivery: - DeliveryLocation: - Address: - ID: - IdentificationSchemeIdentifier: GLN IdentificationSchemeAgencyIdentifier: '9' IdentifierContent: '1234567890123' Postbox: - TextContent: '123' StreetName: - TextContent: Rådhusgatan AdditionalStreetName: - TextContent: 2nd floor BuildingNumber: - TextContent: '5' Department: - TextContent: Purchasing departmen CityName: - TextContent: Stockholm PostalZone: - TextContent: '11000' Region: - TextContent: RegionX Country: - IdentificationCode: - CodeContent: SE AnticipatedMonetaryTotal: - PayableAmount: - AmountCurrencyIdentifier: USD AmountContent: 2108 RequisitionLine: - RequisitionPurposeCode: - CodeListIdentifier: urn:tradeshift.com:api:1.0:requisitionlinepurposecode CodeContent: BLANKET_PURCHASE_ORDER SupplierSharedPrice: - PriceAmount: - AmountCurrencyIdentifier: USD AmountContent: 100 LineItem: - ID: - IdentifierContent: '1' Note: - TextContent: Freetext note on line 1 Quantity: - QuantityUnitCode: EA QuantityContent: 1 LineExtensionAmount: - AmountCurrencyIdentifier: USD AmountContent: 1200 AccountingCostCode: - CodeContent: ProjectID123 Price: - PriceAmount: - AmountCurrencyIdentifier: USD AmountContent: 1200 BaseQuantity: - QuantityUnitCode: EA QuantityContent: 1 ValidityPeriod: - StartDate: - DateContent: '1977-05-15' - EndDate: - DateContent: '1977-05-15' Item: - Description: - TextContent: I want a brown sofa SellersItemIdentification: - IssuerParty: - PartyIdentification: - ID: - IdentifierContent: '444666777' PartyName: - Name: - TextContent: Sofastore CommodityClassification: - ItemClassificationCode: - CodeListIdentifier: UNSPSC CodeListAgencyIdentifier: '113' CodeContent: '56101502' DocumentReference: - ID: - IdentifierContent: order-01 UBLVersionID: - IdentifierContent: '2.0' CustomizationID: - IdentifierContent: urn:tradeshift.com:ubl-2.0-customizations:2010-06 ProfileID: - IdentificationSchemeIdentifier: CWA 16073:2010 IdentificationSchemeAgencyIdentifier: '1' IdentificationSchemeAgencyNameText: CEN/ISSS WS/BII IdentifierContent: urn:www.cenbii.eu:profile:bii04:ver1.0 CreationDate: - DateContent: '1977-05-15' CreationTime: - TimeContent: '1977-05-15' BuyerCustomerParty: - Party: - PartyIdentification: - ID: - IdentificationSchemeIdentifier: TS:ID IdentifierContent: 79eec713-cd84-4a4d-86b5-e35527ef3b3b PartyName: - Name: - TextContent: Zurich Contact: - ID: - IdentificationSchemeUniformResourceIdentifier: http://tradeshift.com/api/1.0/userId IdentifierContent: UUID ElectronicMail: - TextContent: pelle@johnsson.se description: 'Create a new Requisition from the requisition template containing the provided line and using the provided id ' operationId: post-rest-external-documents-requisitions-documentid-requisitionline requestBody: content: application/vnd.oasis.ubl+json: example: _B: urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2 _S: urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2 _D: http://tradeshift.com/api/public/1.0 RequisitionLine: - RequisitionPurposeCode: - CodeListIdentifier: urn:tradeshift.com:api:1.0:requisitionlinepurposecode CodeContent: BLANKET_PURCHASE_ORDER SupplierSharedPrice: - PriceAmount: - AmountCurrencyIdentifier: USD AmountContent: 100 LineItem: - ID: - IdentifierContent: '1' Note: - TextContent: Freetext note on line 1 Quantity: - QuantityUnitCode: EA QuantityContent: 1 LineExtensionAmount: - AmountCurrencyIdentifier: USD AmountContent: 1200 AccountingCostCode: - CodeContent: ProjectID123 Price: - PriceAmount: - AmountCurrencyIdentifier: USD AmountContent: 1200 BaseQuantity: - QuantityUnitCode: EA QuantityContent: 1 ValidityPeriod: - StartDate: - DateContent: '1977-05-15' - EndDate: - DateContent: '1977-05-15' Item: - Description: - TextContent: I want a brown sofa SellersItemIdentification: - IssuerParty: - PartyIdentification: - ID: - IdentifierContent: '444666777' PartyName: - Name: - TextContent: Sofastore CommodityClassification: - ItemClassificationCode: - CodeListIdentifier: UNSPSC CodeListAgencyIdentifier: '113' CodeContent: '56101502' DocumentReference: - ID: - IdentifierContent: order-01 schema: type: string required: true x-annotation-dx-category: documents-requisitions summary: create requisition line tags: - dx-category--documents-requisitions /rest/external/documents/requisitions/{documentId}/RequisitionLines: parameters: - name: documentId in: path required: true schema: type: string description: Document UUID identifier post: responses: '201': description: '' content: application/vnd.oasis.ubl+json: schema: example: _B: urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2 _S: urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2 _D: http://tradeshift.com/api/public/1.0 RequisitionLine: - RequisitionPurposeCode: - CodeListIdentifier: urn:tradeshift.com:api:1.0:requisitionlinepurposecode CodeContent: BLANKET_PURCHASE_ORDER SupplierSharedPrice: - PriceAmount: - AmountCurrencyIdentifier: USD AmountContent: 100 LineItem: - ID: - IdentifierContent: '1' Note: - TextContent: Freetext note on line 1 Quantity: - QuantityUnitCode: EA QuantityContent: 1 LineExtensionAmount: - AmountCurrencyIdentifier: USD AmountContent: 1200 AccountingCostCode: - CodeContent: ProjectID123 Price: - PriceAmount: - AmountCurrencyIdentifier: USD AmountContent: 1200 BaseQuantity: - QuantityUnitCode: EA QuantityContent: 1 ValidityPeriod: - StartDate: - DateContent: '1977-05-15' - EndDate: - DateContent: '1977-05-15' Item: - Description: - TextContent: I want a brown sofa SellersItemIdentification: - IssuerParty: - PartyIdentification: - ID: - IdentifierContent: '444666777' PartyName: - Name: - TextContent: Sofastore CommodityClassification: - ItemClassificationCode: - CodeListIdentifier: UNSPSC CodeListAgencyIdentifier: '113' CodeContent: '56101502' DocumentReference: - ID: - IdentifierContent: order-01 '404': description: '' description: Add a line to the Requisition operationId: post-rest-external-documents-requisitions-documentid-requisitionlines requestBody: content: application/vnd.oasis.ubl+json: example: _B: urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2 _S: urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2 _D: http://tradeshift.com/api/public/1.0 RequisitionLine: - RequisitionPurposeCode: - CodeListIdentifier: urn:tradeshift.com:api:1.0:requisitionlinepurposecode CodeContent: BLANKET_PURCHASE_ORDER SupplierSharedPrice: - PriceAmount: - AmountCurrencyIdentifier: USD AmountContent: 100 LineItem: - ID: - IdentifierContent: '1' Note: - TextContent: Freetext note on line 1 Quantity: - QuantityUnitCode: EA QuantityContent: 1 LineExtensionAmount: - AmountCurrencyIdentifier: USD AmountContent: 1200 AccountingCostCode: - CodeContent: ProjectID123 Price: - PriceAmount: - AmountCurrencyIdentifier: USD AmountContent: 1200 BaseQuantity: - QuantityUnitCode: EA QuantityContent: 1 ValidityPeriod: - StartDate: - DateContent: '1977-05-15' - EndDate: - DateContent: '1977-05-15' Item: - Description: - TextContent: I want a brown sofa SellersItemIdentification: - IssuerParty: - PartyIdentification: - ID: - IdentifierContent: '444666777' PartyName: - Name: - TextContent: Sofastore CommodityClassification: - ItemClassificationCode: - CodeListIdentifier: UNSPSC CodeListAgencyIdentifier: '113' CodeContent: '56101502' DocumentReference: - ID: - IdentifierContent: order-01 schema: type: string required: true x-annotation-dx-category: documents-requisitions summary: update requisition lines tags: - dx-category--documents-requisitions /rest/external/documents/requisitions/{documentId}/RequisitionLines/{lineId}: parameters: - name: lineId in: path required: true schema: type: string description: Line UUID identifier - name: documentId in: path required: true schema: type: string description: Document UUID identifier get: responses: '200': description: '' content: application/vnd.oasis.ubl+json: schema: example: _B: urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2 _S: urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2 _D: http://tradeshift.com/api/public/1.0 RequisitionLine: - RequisitionPurposeCode: - CodeListIdentifier: urn:tradeshift.com:api:1.0:requisitionlinepurposecode CodeContent: BLANKET_PURCHASE_ORDER SupplierSharedPrice: - PriceAmount: - AmountCurrencyIdentifier: USD AmountContent: 100 LineItem: - ID: - IdentifierContent: '1' Note: - TextContent: Freetext note on line 1 Quantity: - QuantityUnitCode: EA QuantityContent: 1 LineExtensionAmount: - AmountCurrencyIdentifier: USD AmountContent: 1200 AccountingCostCode: - CodeContent: ProjectID123 Price: - PriceAmount: - AmountCurrencyIdentifier: USD AmountContent: 1200 BaseQuantity: - QuantityUnitCode: EA QuantityContent: 1 ValidityPeriod: - StartDate: - DateContent: '1977-05-15' - EndDate: - DateContent: '1977-05-15' Item: - Description: - TextContent: I want a brown sofa SellersItemIdentification: - IssuerParty: - PartyIdentification: - ID: - IdentifierContent: '444666777' PartyName: - Name: - TextContent: Sofastore CommodityClassification: - ItemClassificationCode: - CodeListIdentifier: UNSPSC CodeListAgencyIdentifier: '113' CodeContent: '56101502' DocumentReference: - ID: - IdentifierContent: order-01 '404': description: '' description: Retrieve a specific Line from a Requisition operationId: get-rest-external-documents-requisitions-documentid-requisitionlines-lineid x-annotation-dx-category: documents-requisitions summary: get requisition line tags: - dx-category--documents-requisitions put: responses: '200': description: '' content: application/vnd.oasis.ubl+json: schema: example: _B: urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2 _S: urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2 _D: http://tradeshift.com/api/public/1.0 RequisitionLine: - RequisitionPurposeCode: - CodeListIdentifier: urn:tradeshift.com:api:1.0:requisitionlinepurposecode CodeContent: BLANKET_PURCHASE_ORDER SupplierSharedPrice: - PriceAmount: - AmountCurrencyIdentifier: USD AmountContent: 100 LineItem: - ID: - IdentifierContent: '1' Note: - TextContent: Freetext note on line 1 Quantity: - QuantityUnitCode: EA QuantityContent: 1 LineExtensionAmount: - AmountCurrencyIdentifier: USD AmountContent: 1200 AccountingCostCode: - CodeContent: ProjectID123 Price: - PriceAmount: - AmountCurrencyIdentifier: USD AmountContent: 1200 BaseQuantity: - QuantityUnitCode: EA QuantityContent: 1 ValidityPeriod: - StartDate: - DateContent: '1977-05-15' - EndDate: - DateContent: '1977-05-15' Item: - Description: - TextContent: I want a brown sofa SellersItemIdentification: - IssuerParty: - PartyIdentification: - ID: - IdentifierContent: '444666777' PartyName: - Name: - TextContent: Sofastore CommodityClassification: - ItemClassificationCode: - CodeListIdentifier: UNSPSC CodeListAgencyIdentifier: '113' CodeContent: '56101502' DocumentReference: - ID: - IdentifierContent: order-01 '404': description: '' description: Update a specific Line of the Requisition operationId: put-rest-external-documents-requisitions-documentid-requisitionlines-lineid requestBody: content: application/vnd.oasis.ubl+json: example: _B: urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2 _S: urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2 _D: http://tradeshift.com/api/public/1.0 RequisitionLine: - RequisitionPurposeCode: - CodeListIdentifier: urn:tradeshift.com:api:1.0:requisitionlinepurposecode CodeContent: BLANKET_PURCHASE_ORDER SupplierSharedPrice: - PriceAmount: - AmountCurrencyIdentifier: USD AmountContent: 100 LineItem: - ID: - IdentifierContent: '1' Note: - TextContent: Freetext note on line 1 Quantity: - QuantityUnitCode: EA QuantityContent: 1 LineExtensionAmount: - AmountCurrencyIdentifier: USD AmountContent: 1200 AccountingCostCode: - CodeContent: ProjectID123 Price: - PriceAmount: - AmountCurrencyIdentifier: USD AmountContent: 1200 BaseQuantity: - QuantityUnitCode: EA QuantityContent: 1 ValidityPeriod: - StartDate: - DateContent: '1977-05-15' - EndDate: - DateContent: '1977-05-15' Item: - Description: - TextContent: I want a brown sofa SellersItemIdentification: - IssuerParty: - PartyIdentification: - ID: - IdentifierContent: '444666777' PartyName: - Name: - TextContent: Sofastore CommodityClassification: - ItemClassificationCode: - CodeListIdentifier: UNSPSC CodeListAgencyIdentifier: '113' CodeContent: '56101502' DocumentReference: - ID: - IdentifierContent: order-01 schema: type: string required: true x-annotation-dx-category: documents-requisitions summary: update requisition line tags: - dx-category--documents-requisitions delete: responses: '204': description: '' '404': description: '' description: Remove a specific Line of the Requisition operationId: delete-rest-external-documents-requisitions-documentid-requisitionlines-lineid x-annotation-dx-category: documents-requisitions summary: remove requisition line tags: - dx-category--documents-requisitions /rest/external/documents/requisitions/{documentId}/state: parameters: - name: documentId in: path required: true schema: type: string description: Document UUID identifier put: responses: '204': description: '' description: Set the state for the requisition document operationId: put-rest-external-documents-requisitions-documentid-state requestBody: content: application/json: example: NewState: REJECTED schema: required: - NewState type: object properties: NewState: type: string required: true x-annotation-dx-category: documents-requisitions summary: update requisition state tags: - dx-category--documents-requisitions /rest/external/documents/validate: post: responses: '204': description: The document content was validated successfully and no errors were found. '400': description: The document content was validated and some errors were found. content: text/xml: schema: example: "\n BadRequest\n\ \ An invalid request was made - Unable to find quote by given id: 34a35606-626a-5f13-b920-72b21c189ffa\n\ \ \n message\n Unable to find quote by given id: 34a35606-626a-5f13-b920-72b21c189ffa\n\ \ \n\n" '412': description: No active connection exists between the client and the specified company. description: 'This resource validates a given UBL document content by using a combined document profile made of the sender''s default document profile using documentProfileId (e.g. "tradeshift.invoice.ubl.1.0") and the document profile set between the sender and the receiver. This can be used before dispatching a document in order to verify if it has profile related errors or not. If the "receiverCompanyId" parameter is not specified then the validation will be done using only the sender "documentProfileId". If the "receiverCompanyId" parameter is specified, then the resource can validate documents only if an active connection exists between the client and that company. If no such connectin is found, then a 412 Precondition Failed Exception is returned. If the client has an invalid document then a list of validation errors will be provided alongside 400 Bad Request response status code. ' operationId: post-rest-external-documents-validate requestBody: content: application/json: example: DocumentType: InvoiceType UBLVersionID: value: '2.0' CustomizationID: value: urn:tradeshift.com:ubl-2.0-customizations:2010-06 ProfileID: value: urn:www.cenbii.eu:profile:bii04:ver1.0 schemeID: CWA 16073:2010 schemeAgencyID: CEN/ISSS WS/BII schemeVersionID: '1' ID: value: '1008' IssueDate: value: '2017-12-05' InvoiceTypeCode: value: '380' listID: UN/ECE 1001 Subset listAgencyID: '6' listVersionID: D08B DocumentCurrencyCode: value: USD OrderReference: ID: value: '1223232324' OriginatorDocumentReference: - ID: value: 0351a12e-d8dd-11e7-9296-cec278b6b50a AdditionalDocumentReference: - ID: value: HALF_EVEN DocumentTypeCode: value: RoundingRule listID: urn:tradeshift.com:api:1.0:documenttypecode AccountingSupplierParty: Party: PartyIdentification: - ID: value: f8fa779a-8d84-425e-b99f-dd756924b0bd schemeID: TS:ID PartyName: - Name: value: Supplier UK PostalAddress: AddressFormatCode: value: '5' listID: UN/ECE 3477 listAgencyID: '6' listVersionID: D08B StreetName: value: Joakimsgade AdditionalStreetName: value: Brown locality BuildingNumber: value: '2' CityName: value: Tradeshiftino PostalZone: value: '3344' Country: IdentificationCode: value: GB Contact: ID: value: 0f3a79e2-fa22-4f81-b084-5fedbaaa1982 schemeURI: http://tradeshift.com/api/1.0/userId Name: value: Zach Andersson Person: FirstName: value: Zach FamilyName: value: Andersson AccountingCustomerParty: Party: PartyIdentification: - ID: value: c0c17d58-9e31-4e79-a204-b3833116bc4d schemeID: TS:ID PartyName: - Name: value: ChildBranchUS PostalAddress: AddressFormatCode: value: '5' listID: UN/ECE 3477 listAgencyID: '6' listVersionID: D08B StreetName: value: Andersgade BuildingNumber: value: '4' CityName: value: Tradeshiftograd PostalZone: value: '55667' CountrySubentity: value: VW Country: IdentificationCode: value: US Contact: {} Delivery: - {} TaxTotal: - TaxAmount: value: 0.84 currencyID: USD TaxSubtotal: - TaxableAmount: value: 11 currencyID: USD TaxAmount: value: 0.84 currencyID: USD TaxCategory: ID: value: S schemeID: UN/ECE 5305 schemeAgencyID: '6' schemeVersionID: D08B Percent: value: 7.6 TaxScheme: ID: value: STT schemeID: UN/ECE 5153 Subset schemeAgencyID: '6' schemeVersionID: D08B Name: value: US Tax 7.6% TaxTypeCode: value: K99 listAgencyName: DHL LegalMonetaryTotal: LineExtensionAmount: value: 11 currencyID: USD TaxExclusiveAmount: value: 0.84 currencyID: USD TaxInclusiveAmount: value: 11.84 currencyID: USD PayableAmount: value: 11.84 currencyID: USD InvoiceLine: - ID: value: '1' InvoicedQuantity: value: 1 unitCode: EA LineExtensionAmount: value: 11 currencyID: USD OrderLineReference: - LineID: value: '1' OrderReference: ID: value: '1223232324' TaxTotal: - TaxAmount: value: 0.84 currencyID: USD TaxSubtotal: - TaxableAmount: value: 11 currencyID: USD TaxAmount: value: 0.84 currencyID: USD CalculationSequenceNumeric: value: 1 TaxCategory: ID: value: S schemeID: UN/ECE 5305 schemeAgencyID: '6' schemeVersionID: D08B Percent: value: 7.6 TaxScheme: ID: value: STT schemeID: UN/ECE 5153 Subset schemeAgencyID: '6' schemeVersionID: D08B Name: value: US Tax 7.6% TaxTypeCode: value: K9 listAgencyName: DHL Item: Description: - value: A good description... Name: value: A good name... SellersItemIdentification: ID: value: '1' schemeID: GTIN schemeAgencyID: '9' Price: PriceAmount: value: 11 currencyID: USD BaseQuantity: value: 1 unitCode: EA OrderableUnitFactorRate: value: 1 schema: type: string required: true parameters: - name: Accept in: header required: true description: 'The MIME media type of the response content. Example: text/plain ' schema: default: text/plain type: string - name: Content-Type in: header required: true description: 'The MIME media type of the request content. Example: text/xml ' schema: default: text/xml type: string - name: documentProfileId in: query required: true description: Document profile used for validating the document. schema: type: string - name: receiverCompanyId in: query description: The receiver company id whose document profile will be used for validation. schema: type: string x-annotation-dx-category: documents-document summary: validate a document tags: - dx-category--documents-document /rest/external/documents/{documentId}: parameters: - name: documentId in: path required: true schema: type: string description: Document UUID identifier get: responses: '200': description: The requested document in the desired format. headers: X-Tradeshift-SecurityGroup: schema: type: string content: application/json: example: DocumentType: Requisition UBLVersionID: value: '2.0' CustomizationID: value: urn:tradeshift.com:ubl-2.0-customizations:2010-06 ProfileID: value: urn:tradeshift.com:profile:Requisition:ver1.0 schemeAgencyID: http://tradeshift.com ID: value: '51' CreationDate: value: '2016-09-08T14:09:33.098+02:00' BuyerCustomerParty: Party: PartyIdentification: - ID: value: 7d583074-f6e0-446c-896b-0dfa0789d891 schemeID: TS:ID PartyName: - Name: value: Test Buyer PostalAddress: StreetName: value: The Old Warehouse Michael Rd SW6 2AD London Great Britain 2 Contact: ID: value: c931be90-9249-47b0-b52b-ae7da808d4cb schemeURI: http://tradeshift.com/api/1.0/userId Name: value: Mark Jenson ElectronicMail: value: markjenson@mailinator.com OriginatorCustomerParty: Party: {} Delivery: - DeliveryAddress: StreetName: value: 10 downing street BuildingName: value: 390d9663-64bc-4a92-a31d-76a79c8c04dc CityName: value: London PostalZone: value: '12345' CountrySubentity: value: '' Country: IdentificationCode: value: GB AnticipatedMonetaryTotal: PayableAmount: value: 0 currencyID: GBP schema: type: object properties: DocumentType: type: string UBLVersionID: required: - value type: object properties: value: type: string CustomizationID: required: - value type: object properties: value: type: string ProfileID: required: - value - schemeAgencyID type: object properties: value: type: string schemeAgencyID: type: string ID: required: - value type: object properties: value: type: string CreationDate: required: - value type: object properties: value: type: string BuyerCustomerParty: required: - Party type: object properties: Party: required: - PartyIdentification - PartyName - PostalAddress - Contact type: object properties: PartyIdentification: type: array items: required: - ID type: object properties: ID: required: - value - schemeID type: object properties: value: type: string schemeID: type: string PartyName: type: array items: required: - Name type: object properties: Name: required: - value type: object properties: value: type: string PostalAddress: required: - StreetName type: object properties: StreetName: required: - value type: object properties: value: type: string Contact: required: - ID - Name - ElectronicMail type: object properties: ID: required: - value - schemeURI type: object properties: value: type: string schemeURI: type: string Name: required: - value type: object properties: value: type: string ElectronicMail: required: - value type: object properties: value: type: string OriginatorCustomerParty: required: - Party type: object properties: Party: type: object Delivery: type: array items: required: - DeliveryAddress type: object properties: DeliveryAddress: required: - StreetName - BuildingName - CityName - PostalZone - CountrySubentity - Country type: object properties: StreetName: required: - value type: object properties: value: type: string BuildingName: required: - value type: object properties: value: type: string CityName: required: - value type: object properties: value: type: string PostalZone: required: - value type: object properties: value: type: string CountrySubentity: required: - value type: object properties: value: type: string Country: required: - IdentificationCode type: object properties: IdentificationCode: required: - value type: object properties: value: type: string DeliveryParty: required: - PartyName - PartyTaxScheme type: object properties: PartyIdentification: required: - ID type: object properties: ID: required: - value type: object properties: value: type: string PartyName: required: - Name type: object properties: Name: required: - value type: object properties: value: type: string PartyTaxScheme: required: - Id type: object properties: TaxScheme: required: - value type: object properties: value: type: string Despatch: type: object properties: DespatchAddress: required: - StreetName - BuildingName - CityName - PostalZone - CountrySubentity - Country type: object properties: StreetName: required: - value type: object properties: value: type: string BuildingName: required: - value type: object properties: value: type: string CityName: required: - value type: object properties: value: type: string PostalZone: required: - value type: object properties: value: type: string CountrySubentity: required: - value type: object properties: value: type: string Country: required: - IdentificationCode type: object properties: IdentificationCode: required: - value type: object properties: value: type: string DespatchParty: required: - PartyName - PartyTaxScheme type: object properties: PartyIdentification: required: - ID type: object properties: ID: required: - value type: object properties: value: type: string PartyName: required: - Name type: object properties: Name: required: - value type: object properties: value: type: string PartyTaxScheme: required: - Id type: object properties: TaxScheme: required: - value type: object properties: value: type: string AnticipatedMonetaryTotal: required: - PayableAmount type: object properties: PayableAmount: required: - value - currencyID type: object properties: value: type: integer currencyID: type: string required: - DocumentType - Delivery '400': description: Bad Request due to invalid input. content: application/*: example: ErrorCode: BadRequest Message: Could not resolve type nonExistentType ErrorDetail: - Key: message Value: Could not resolve type nonExistentType - Key: stacktrace Value: "com.tradeshift.commons.exception.BadRequestException: Could not resolve type nonExistentType\n\t\ at com.tradeshift.coding.rest.CodingResource.getCodingLists(CodingResource.java:85)\n\t" ValidationError: [] RequestId: 2c941598-489c-4fac-8543-03cb921feaf7 schema: title: Tradeshift Public API 1.0 - TradeshiftException required: - ErrorCode - Message - RequestId type: object additionalProperties: false properties: ErrorCode: type: string Message: type: string ErrorDetail: type: array items: type: object additionalProperties: false properties: Key: type: string Value: type: string required: - Key - Value ValidationError: type: array items: type: object RequestId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string '401': description: The user was not authorized to perform the operation. '404': description: Document with the specified id was not found or it is deleted. description: 'Returns the document identified by the given UUID, if it exists and is not marked as deleted. If you want to retrieve the deleted documents, use [Find Documents](#get-rest-external-documents) along with stag=deleted parameter and with the corresponding id. The document can be retrieved in a PDF representation or in one of the raw UBL formats (XML, JSON or Oasis JSON) depending on the Accept header. The default format is the XML. ' operationId: get-rest-external-documents-documentid parameters: - name: Accept in: header required: true description: 'The MIME media type of the response content. Example: text/xml, application/json, application/vnd.oasis.ubl+json, application/* ' schema: default: text/xml type: string - name: includeDraftAttachments in: query description: Include attachements in the UBL when the document is in DRAFT state schema: default: false type: boolean x-annotation-dx-category: documents-document summary: find document tags: - dx-category--documents-document put: responses: '204': description: The document was uploaded successfully. '400': description: Bad Request due to invalid input. content: application/json: example: ErrorCode: BadRequest Message: Could not resolve type nonExistentType ErrorDetail: - Key: message Value: Could not resolve type nonExistentType - Key: stacktrace Value: "com.tradeshift.commons.exception.BadRequestException: Could not resolve type nonExistentType\n\t\ at com.tradeshift.coding.rest.CodingResource.getCodingLists(CodingResource.java:85)\n\t" ValidationError: [] RequestId: 2c941598-489c-4fac-8543-03cb921feaf7 schema: title: Tradeshift Public API 1.0 - TradeshiftException required: - ErrorCode - Message - RequestId type: object additionalProperties: false properties: ErrorCode: type: string Message: type: string ErrorDetail: type: array items: type: object additionalProperties: false properties: Key: type: string Value: type: string required: - Key - Value ValidationError: type: array items: type: object RequestId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string description: 'This resource allows to store a document within the Tradeshift platform. The actual document content is sent as the entity/body of the API call. The client can decide on the UUID for the new element defined by the "documentId" parameter. Saving a document as draft will use the document content as primary source for tradeshift internal conversion which will output a new TSUBL content overwriting the initial one. By doing so extra connection checks will occur. Otherwise, saving it as a non-draft will not alter the provided UBL document content and will set it as the primary source for the document. In both cases, the uploaded document will show up as editable in the UI. If the cliend decides that the document should not be editable, then it''s state can be locked with a PUT request. More details about how to lock a draft document can be found in [Lock a Draft Document](#put-rest-external-documents-documentid-lockedstate-state) section. If a document contains attachments at /AdditionalDocumentReference/Attachment/EmbeddedDocumentBinaryObject path, it will be added to the document. If the document already exists, attachments with already used filename will overwrite previous versions. Attachments with new file names will be appended to the list of attachments on the document. More details about how to remove document attachments can be found in [Delete Document Attachment](#delete-rest-external-documents-documentid-attachments-name-content) section. This is a generic document API endpoint which covers all document types. ' operationId: put-rest-external-documents-documentid requestBody: content: application/vnd.oasis.ubl+json: example: _B: urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2 _S: urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2 _D: http://tradeshift.com/api/public/1.0 Requisition: - ID: - IdentifierContent: bac9a69c-ec35-4a12-a455-9fb57c24dbfb Note: - TextContent: I want to request a purchase OrderDocumentReference: - ID: - IdentifierContent: order-01 - ID: - IdentifierContent: order-02 OriginatorCustomerParty: - Party: - Contact: - ID: - IdentificationSchemeUniformResourceIdentifier: http://tradeshift.com/api/1.0/userId IdentifierContent: UUID ElectronicMail: - TextContent: john@johnsson.se Delivery: - DeliveryLocation: - Address: - ID: - IdentificationSchemeIdentifier: GLN IdentificationSchemeAgencyIdentifier: '9' IdentifierContent: '1234567890123' Postbox: - TextContent: '123' StreetName: - TextContent: Rådhusgatan AdditionalStreetName: - TextContent: 2nd floor BuildingNumber: - TextContent: '5' Department: - TextContent: Purchasing departmen CityName: - TextContent: Stockholm PostalZone: - TextContent: '11000' Region: - TextContent: RegionX Country: - IdentificationCode: - CodeContent: SE AnticipatedMonetaryTotal: - PayableAmount: - AmountCurrencyIdentifier: USD AmountContent: 2108 RequisitionLine: - RequisitionPurposeCode: - CodeListIdentifier: urn:tradeshift.com:api:1.0:requisitionlinepurposecode CodeContent: BLANKET_PURCHASE_ORDER SupplierSharedPrice: - PriceAmount: - AmountCurrencyIdentifier: USD AmountContent: 100 LineItem: - ID: - IdentifierContent: '1' Note: - TextContent: Freetext note on line 1 Quantity: - QuantityUnitCode: EA QuantityContent: 1 LineExtensionAmount: - AmountCurrencyIdentifier: USD AmountContent: 1200 AccountingCostCode: - CodeContent: ProjectID123 Price: - PriceAmount: - AmountCurrencyIdentifier: USD AmountContent: 1200 BaseQuantity: - QuantityUnitCode: EA QuantityContent: 1 ValidityPeriod: - StartDate: - DateContent: '1977-05-15' - EndDate: - DateContent: '1977-05-15' Item: - Description: - TextContent: I want a brown sofa SellersItemIdentification: - IssuerParty: - PartyIdentification: - ID: - IdentifierContent: '444666777' PartyName: - Name: - TextContent: Sofastore CommodityClassification: - ItemClassificationCode: - CodeListIdentifier: UNSPSC CodeListAgencyIdentifier: '113' CodeContent: '56101502' DocumentReference: - ID: - IdentifierContent: order-01 UBLVersionID: - IdentifierContent: '2.0' CustomizationID: - IdentifierContent: urn:tradeshift.com:ubl-2.0-customizations:2010-06 ProfileID: - IdentificationSchemeIdentifier: CWA 16073:2010 IdentificationSchemeAgencyIdentifier: '1' IdentificationSchemeAgencyNameText: CEN/ISSS WS/BII IdentifierContent: urn:www.cenbii.eu:profile:bii04:ver1.0 CreationDate: - DateContent: '1977-05-15' CreationTime: - TimeContent: '1977-05-15' BuyerCustomerParty: - Party: - PartyIdentification: - ID: - IdentificationSchemeIdentifier: TS:ID IdentifierContent: 79eec713-cd84-4a4d-86b5-e35527ef3b3b PartyName: - Name: - TextContent: Zurich Contact: - ID: - IdentificationSchemeUniformResourceIdentifier: http://tradeshift.com/api/1.0/userId IdentifierContent: UUID ElectronicMail: - TextContent: pelle@johnsson.se schema: type: string '*/*': schema: type: string required: true parameters: - name: Content-Type in: header required: true description: 'The MIME media type of the request content. Example: text/xml, application/xml, application/json, application/vnd.oasis.ubl+json ' schema: type: string - name: draft in: query description: 'Parameter that indicates if the document should be created in draft mode or not. Documents such as Order Change, Receipt Advice, Remittance Advice, Status Messages, Reminder Messages or Assignments can''t be created as drafts while documents such as Invoice are partially validated when it is saved as draft. ' schema: default: false type: boolean - name: documentProfileId in: query required: true description: The document profile id of the document which will be created (e.g. "tradeshift.requisition.ubl.1.0"), from the 'documentprofiles' resource. schema: type: string - name: schemaValidate in: query description: 'Parameter that indicates if the document should be validated against the UBL schema. If this parameter is set to TRUE, the API will detect the UBL version to validate against from the document content. This validation is triggered only if the document is *not* created as draft and also if the Nemhandel validation is enabled for the specified document profile. ' schema: default: true type: boolean - name: validateDocumentProfile in: query description: 'Parameter that indicates if the document should be validated or not using the selected document profile. The validation is triggered only if the document is not created as draft. ' schema: default: true type: boolean x-annotation-dx-category: documents-document summary: update document tags: - dx-category--documents-document delete: responses: '204': description: The document was deleted successfully. '401': description: The user was not authorized to perform the operation. '404': description: Document with the specified id was not found. description: 'Soft delete of the document. Deleting a document using this API will not delete the document from the system, but mark it as deleted. This operation will only affect user''s copy of the document, receiver''s (or sender''s) copy will remain intact. User can still query deleted documents if they wish to do so. More details about how to retrieve deleted document can be found in [Find Documents](#get-rest-external-documents) section. It''s not recommended to delete a document using given endpoint. ' operationId: delete-rest-external-documents-documentid x-annotation-dx-category: documents-document summary: delete document tags: - dx-category--documents-document /rest/external/documents/{documentId}/attachments: parameters: - name: documentId in: path required: true schema: type: string description: Document UUID identifier get: responses: '200': description: '' content: application/json: example: DocumentAttachment: - Name: Screen Shot 2016-09-08 at 2.59.56 PM.png ContentType: image/png Type: attachment schema: required: - DocumentAttachment type: object properties: DocumentAttachment: type: array items: required: - Name - ContentType - Type type: object properties: Name: type: string ContentType: type: string Type: type: string description: Returns a list of all attachments a document has operationId: get-rest-external-documents-documentid-attachments x-annotation-dx-category: documents-attachments summary: find document attachments tags: - dx-category--documents-attachments /rest/external/documents/{documentId}/attachments/{name}/content: parameters: - name: name in: path required: true schema: type: string description: File name of the attachment - name: documentId in: path required: true schema: type: string description: Document UUID identifier put: responses: '201': description: '' description: Create a new attachment for the document operationId: put-rest-external-documents-documentid-attachments-name-content requestBody: content: '*/*': schema: type: string required: true x-annotation-dx-category: documents-attachments summary: update document attachment tags: - dx-category--documents-attachments delete: responses: '200': description: The document attachment was deleted successfully. '400': description: Bad Request due to invalid input. '401': description: The user was not authorized to perform the operation. '404': description: The document attachment was not found. description: 'Removes an existing attachment having the provided parameter name from the document. This can be used when the document attachment is either outdated or not applicable any more. ' operationId: delete-rest-external-documents-documentid-attachments-name-content x-annotation-dx-category: documents-attachments summary: delete document attachment tags: - dx-category--documents-attachments /rest/external/documents/{documentId}/content: parameters: - name: documentId in: path required: true schema: type: string description: Document UUID identifier delete: responses: '204': description: The document was truncated successfully '401': description: User was not authorized to truncate the specified document description: 'Truncate the content for the given document if any exists. This action cannot be revoked or reverted. This is to be used if document content must be permanently wiped, for example for privacy reasons. Truncated documents will have all content except number and issue date removed. All versions of the document will also be truncated including the document attachments. The document will not be visible in the document manager UI. ' operationId: delete-rest-external-documents-documentid-content x-annotation-dx-category: documents-document summary: remove document content tags: - dx-category--documents-document /rest/external/documents/{documentId}/convert: parameters: - name: documentId in: path required: true schema: type: string description: Document UUID identifier get: responses: '200': description: The conversion was done successfully and the converted document is returned. content: text/xml: schema: example: DocumentType: CreditNoteType UBLVersionID: value: '2.0' CustomizationID: value: urn:tradeshift.com:ubl-2.0-customizations:2010-06 ProfileID: value: urn:www.cenbii.eu:profile:bii04:ver1.0 schemeID: CWA 16073:2010 schemeAgencyID: CEN/ISSS WS/BII schemeVersionID: '1' ID: value: INV60.3 IssueDate: value: '2021-05-07' DocumentCurrencyCode: value: EUR AdditionalDocumentReference: - ID: value: HALF_UP DocumentTypeCode: value: RoundingRule listID: urn:tradeshift.com:api:1.0:documenttypecode AccountingSupplierParty: Party: PartyIdentification: - ID: value: d2252c87-8b38-4c89-9fe8-08f681d030db schemeID: TS:ID PartyName: - Name: value: SellerC PostalAddress: AddressFormatCode: value: '5' listID: UN/ECE 3477 listAgencyID: '6' listVersionID: D08B StreetName: value: qwert BuildingNumber: value: '' CityName: value: Berlin PostalZone: value: '11111' Country: IdentificationCode: value: DE Contact: ID: value: e278ce06-af3d-11eb-8529-0242ac130003 schemeURI: http://tradeshift.com/api/1.0/userId Name: value: SellerC-NAME1 TradeshiftSellerC-NAME2 ElectronicMail: value: mail+TradeshiftSellerC@tradeshift.com Person: FirstName: value: SellerC-NAME1 FamilyName: value: SellerC-NAME2 AccountingCustomerParty: Party: PartyIdentification: - ID: value: e8400cb4-af3d-11eb-8529-0242ac130003 schemeID: TS:ID PartyName: - Name: value: BuyerC PostalAddress: AddressFormatCode: value: '5' listID: UN/ECE 3477 listAgencyID: '6' listVersionID: D08B StreetName: value: asd BuildingNumber: value: '' CityName: value: Berlin PostalZone: value: '11111' Country: IdentificationCode: value: DE Contact: {} TaxTotal: - TaxAmount: value: 0.2 currencyID: EUR TaxSubtotal: - TaxableAmount: value: 1 currencyID: EUR TaxAmount: value: 0.2 currencyID: EUR TaxCategory: ID: value: S schemeID: UN/ECE 5305 schemeAgencyID: '6' schemeVersionID: D08B Percent: value: 20 TaxScheme: ID: value: VAT schemeID: UN/ECE 5153 Subset schemeAgencyID: '6' schemeVersionID: D08B Name: value: VAT LegalMonetaryTotal: LineExtensionAmount: value: 1 currencyID: EUR TaxExclusiveAmount: value: 0.2 currencyID: EUR TaxInclusiveAmount: value: 1.2 currencyID: EUR PayableAmount: value: 1.2 currencyID: EUR CreditNoteLine: - ID: value: '1' CreditedQuantity: value: 1 unitCode: EA LineExtensionAmount: value: 1 currencyID: EUR TaxTotal: - TaxAmount: value: 0.2 currencyID: EUR TaxSubtotal: - TaxableAmount: value: 1 currencyID: EUR TaxAmount: value: 0.2 currencyID: EUR CalculationSequenceNumeric: value: 1 TaxCategory: ID: value: S schemeID: UN/ECE 5305 schemeAgencyID: '6' schemeVersionID: D08B Percent: value: 20 TaxScheme: ID: value: VAT schemeID: UN/ECE 5153 Subset schemeAgencyID: '6' schemeVersionID: D08B Name: value: VAT Item: Description: - value: '1' Name: value: '1' SellersItemIdentification: ID: value: '1' Price: PriceAmount: value: 1 currencyID: EUR BaseQuantity: value: 1 unitCode: EA OrderableUnitFactorRate: value: 1 '401': description: User was not authorized to view the specified document '404': description: The provided document id does not exists description: 'This endpoint allows the conversion of a draft document to another type, keeping the same id. Its primary purpose is for when an Invoice or a CreditNote has been created as draft but with the wrong type. The only valid conversions are of draft invoices to draft credit notes or vice-versa. The converted document will not be saved or dispatched. If the client requires this action, other endpoints can be used. More details about saving or dispatching can be found in [Send Document](#post-rest-external-documents-dispatcher), [Update Document](#put-rest-external-documents-documentid) or [Dispatch A Saved Document](#put-rest-external-documents-documentid-dispatches-dispatchid). ' operationId: get-rest-external-documents-documentid-convert parameters: - name: Accept in: header required: true description: 'The MIME media type of the response content. Example: text/xml and application/json ' schema: default: text/xml type: string - name: targetDocumentType in: query required: true description: This parameter represents the document type to convert to. It should be either (case-sensitive) 'invoice' or 'creditnote'. schema: type: string - name: targetDocumentTargetType in: query required: true description: 'This parameter represents the document profile id that the document adheres to (e.g. ''tradeshift.invoice.ubl.1.0''), from the ''documentprofiles'' resource. ' schema: type: string - name: draft in: query description: 'Parameter that indicates if the document should be converted in draft mode or not. ' schema: default: false type: boolean - name: withAttachments in: query description: Parameter that indicates if the converted document should contain the source document attachements or not. schema: default: true type: boolean x-annotation-dx-category: documents-document summary: convert a document tags: - dx-category--documents-document /rest/external/documents/{documentId}/dispatches/first: parameters: - name: documentId in: path required: true schema: type: string description: Document UUID identifier get: responses: '200': description: The dispatch of the document exists and is returned successfully. content: application/json: schema: example: DispatchId: 2ecdb6ac-b133-4c7c-80aa-650391af98f6 ObjectId: 383eb7da-31dd-5c4e-878c-026443e46067 Created: '2016-09-02T01:07:21.461Z' SenderUserId: 63ef84c2-83c0-473b-a634-3a57d8109b39 DispatchState: COMPLETED LastStateChange: '2016-09-02T01:07:21.461Z' ReceiverConnectionId: 44dc8810-e582-5252-963b-20fd0754765f DispatchChannel: EMAIL '404': description: The provided dispatch id does not exists. description: Get the first dispatch information with regards to a previously dispatched document operationId: get-rest-external-documents-documentid-dispatches-first parameters: - name: Accept in: header required: true description: 'The MIME media type of the response content. Example: text/xml, application/json, application/* ' schema: default: text/xml type: string x-annotation-dx-category: documents-document summary: Get First Dispatch tags: - dx-category--documents-document /rest/external/documents/{documentId}/dispatches/latest: parameters: - name: documentId in: path required: true schema: type: string description: Document UUID identifier get: responses: '200': description: The dispatch of the document exists and is returned successfully. content: application/json: schema: example: DispatchId: 2ecdb6ac-b133-4c7c-80aa-650391af98f6 ObjectId: 383eb7da-31dd-5c4e-878c-026443e46067 Created: '2016-09-02T01:07:21.461Z' SenderUserId: 63ef84c2-83c0-473b-a634-3a57d8109b39 DispatchState: COMPLETED LastStateChange: '2016-09-02T01:07:21.461Z' ReceiverConnectionId: 44dc8810-e582-5252-963b-20fd0754765f DispatchChannel: EMAIL '404': description: The provided dispatch id does not exists. description: Get the latest dispatch information with regards to a previously dispatched document operationId: get-rest-external-documents-documentid-dispatches-latest parameters: - name: Accept in: header required: true description: 'The MIME media type of the response content. Example: text/xml, application/json, application/* ' schema: default: text/xml type: string x-annotation-dx-category: documents-document summary: Get Latest Dispatch tags: - dx-category--documents-document /rest/external/documents/{documentId}/dispatches/{dispatchId}: parameters: - name: dispatchId in: path required: true schema: type: string description: The dispatch id used for dispatching the document - name: documentId in: path required: true schema: type: string description: Document UUID identifier put: responses: '201': description: The document with provided id was dispatched successfully. '400': description: Bad Request due to invalid input. The document with provided id has validation errors. content: application/json: example: ErrorCode: BadRequest Message: Could not resolve type nonExistentType ErrorDetail: - Key: message Value: Could not resolve type nonExistentType - Key: stacktrace Value: "com.tradeshift.commons.exception.BadRequestException: Could not resolve type nonExistentType\n\t\ at com.tradeshift.coding.rest.CodingResource.getCodingLists(CodingResource.java:85)\n\t" ValidationError: [] RequestId: 2c941598-489c-4fac-8543-03cb921feaf7 schema: title: Tradeshift Public API 1.0 - TradeshiftException required: - ErrorCode - Message - RequestId type: object additionalProperties: false properties: ErrorCode: type: string Message: type: string ErrorDetail: type: array items: type: object additionalProperties: false properties: Key: type: string Value: type: string required: - Key - Value ValidationError: type: array items: type: object RequestId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string '404': description: The document with provided id was not found. '503': description: 'The error occurs due to the expired custom document profile that is used for validation. The system requests a new one, but it is retrieved asynchronously, so 503 ''ObjectNotFound'' error is generated. This is a temporary state and a client should handle this error by trying to issue the same request later. ' content: application/json: example: ErrorCode: ObjectNotFound Message: 'Timed out (12500) waiting for doc profile 78767202-6a13-11eb-9439-0242ac130002 from company: 7c253956-6a13-11eb-9439-0242ac130002' ErrorDetail: - Key: message Value: 'Timed out (12500) waiting for doc profile 78767202-6a13-11eb-9439-0242ac130002 from company: 7c253956-6a13-11eb-9439-0242ac130002' - Key: stacktrace Value: 'com.tradeshift.commons.exception.ProcessingException: Timed out (12500) waiting for doc profile 78767202-6a13-11eb-9439-0242ac130002 from company: 7c253956-6a13-11eb-9439-0242ac130002' ValidationError: [] RequestId: 68dade8f-2f38-442b-8bdd-91a274b30177 schema: title: Tradeshift Public API 1.0 - TradeshiftException required: - ErrorCode - Message - RequestId type: object additionalProperties: false properties: ErrorCode: type: string Message: type: string ErrorDetail: type: array items: type: object additionalProperties: false properties: Key: type: string Value: type: string required: - Key - Value ValidationError: type: array items: type: object RequestId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string description: "Dispatch a previously saved document. The client can decide on the UUID for the new dispatch. \nIf the\ \ receiver has custom validations enabled, the document will be validated using the receivers custom document profile.\ \ \nThe body of the PUT is a connection identifier object which is not mandatory. If connectionId is not provided,\ \ the connection id will be determined from the document. \nWhen Content-Type header is text/xml, the minimal request\ \ body should be in the format ``, even if no connectionId\ \ is being provided.\n" operationId: put-rest-external-documents-documentid-dispatches-dispatchid requestBody: content: application/json: example: ConnectionId: 20758da1-c5b8-50f5-92b1-ceaaf25d99b7 schema: type: string text/xml: example: ' ' schema: type: object required: true parameters: - name: Content-Type in: header required: true description: 'The MIME media type of the request content. Example: text/xml, application/json ' schema: default: text/xml type: string - name: documentSource in: query description: Track the document's source - We save the source of the document in a new table called documentsource so that we know where the document was dispatched from. schema: type: string x-annotation-dx-category: documents-document summary: Dispatch a saved document tags: - dx-category--documents-document /rest/external/documents/{documentId}/dispatches/{dispatchId}/scanIOReject: parameters: - name: dispatchId in: path required: true schema: type: string description: The dispatch id used for dispatching the document - name: documentId in: path required: true schema: type: string description: Document UUID identifier put: responses: '201': description: The document with provided id was dispatched successfully. '400': description: Bad Request due to invalid input. The document is missing the scanIOReject, scanIORejectMessage and/or fr_cleared properties. content: application/json: example: ErrorCode: BadRequest Message: Could not resolve type nonExistentType ErrorDetail: - Key: message Value: Could not resolve type nonExistentType - Key: stacktrace Value: "com.tradeshift.commons.exception.BadRequestException: Could not resolve type nonExistentType\n\t\ at com.tradeshift.coding.rest.CodingResource.getCodingLists(CodingResource.java:85)\n\t" ValidationError: [] RequestId: 2c941598-489c-4fac-8543-03cb921feaf7 schema: title: Tradeshift Public API 1.0 - TradeshiftException required: - ErrorCode - Message - RequestId type: object additionalProperties: false properties: ErrorCode: type: string Message: type: string ErrorDetail: type: array items: type: object additionalProperties: false properties: Key: type: string Value: type: string required: - Key - Value ValidationError: type: array items: type: object RequestId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string '404': description: The document with provided id was not found. '503': description: 'The error occurs due to the expired custom document profile that is used for validation. The system requests a new one, but it is retrieved asynchronously, so 503 ''ObjectNotFound'' error is generated. This is a temporary state and a client should handle this error by trying to issue the same request later. ' content: application/json: example: ErrorCode: ObjectNotFound Message: 'Timed out (12500) waiting for doc profile 78767202-6a13-11eb-9439-0242ac130002 from company: 7c253956-6a13-11eb-9439-0242ac130002' ErrorDetail: - Key: message Value: 'Timed out (12500) waiting for doc profile 78767202-6a13-11eb-9439-0242ac130002 from company: 7c253956-6a13-11eb-9439-0242ac130002' - Key: stacktrace Value: 'com.tradeshift.commons.exception.ProcessingException: Timed out (12500) waiting for doc profile 78767202-6a13-11eb-9439-0242ac130002 from company: 7c253956-6a13-11eb-9439-0242ac130002' ValidationError: [] RequestId: 68dade8f-2f38-442b-8bdd-91a274b30177 schema: title: Tradeshift Public API 1.0 - TradeshiftException required: - ErrorCode - Message - RequestId type: object additionalProperties: false properties: ErrorCode: type: string Message: type: string ErrorDetail: type: array items: type: object additionalProperties: false properties: Key: type: string Value: type: string required: - Key - Value ValidationError: type: array items: type: object RequestId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string description: 'Dispatch a previously saved document that was rejected by Scan IO validation. The client can decide on the UUID for the new dispatch. The document must already have the `scanIOReject`, `scanIORejectMessage` and `fr_cleared` properties set, otherwise a 400 error is returned. The documentSource for this dispatch is always set to `scanIO`. The body of the PUT is a connection identifier object which is not mandatory. If connectionId is not provided, the connection id will be determined from the document. When Content-Type header is text/xml, the minimal request body should be in the format ``, even if no connectionId is being provided. ' operationId: put-rest-external-documents-documentid-dispatches-dispatchid-scanioreject requestBody: content: application/json: example: ConnectionId: 20758da1-c5b8-50f5-92b1-ceaaf25d99b7 schema: type: string text/xml: example: ' ' schema: type: object required: true parameters: - name: Content-Type in: header required: true description: 'The MIME media type of the request content. Example: text/xml, application/json ' schema: default: text/xml type: string x-annotation-dx-category: documents-document summary: Dispatch a saved document rejected by Scan IO validation tags: - dx-category--documents-document /rest/external/documents/{documentId}/lockedstate/{state}: parameters: - name: state in: path required: true schema: type: boolean description: This parameter indicates if the document should be marked as sent (locked) or not. - name: documentId in: path required: true schema: type: string description: Document UUID identifier put: responses: '204': description: If the document exists, it state will be set to LOCKED. description: 'Mark a draft document as either sale or purchase if any exists. After this operation, the document cannot be modified in any way. If the "sent" parameter is set to TRUE then the document will be marked as SALE, otherwise the document will be marked as PURCHASE. ' operationId: put-rest-external-documents-documentid-lockedstate-state x-annotation-dx-category: documents-document summary: lock a draft document tags: - dx-category--documents-document /rest/external/documents/{documentId}/metadata: parameters: - name: documentId in: path required: true schema: type: string description: Document UUID identifier get: responses: '200': description: '' content: text/xml: example: "\n 1592a9a0-02b9-11e7-93ae-92361f002671\n\ \ \n 7dfe1744-fa85-43cd-bd93-9995445316d1\n DRAFT\n\ \ 2017-03-06T23:08:12.535+01:00\n 2017-03-06T23:08:12.535+01:00\n\ \ 8ce36265-fafd-4801-83a0-4992631219db\n \n \n\ \ FAILED\n false\n PENDING\n\ \ FAILED\n FAILED_DELIVERY\n \n\ \ \n use:template\n \n \n\ \ 259dabc7-6603-4b4b-ad69-aca032c4329e\n 70dcbb97-c3bf-41cb-a5df-1fc542cb8989\n\ \n" schema: type: object description: Get metadata for a document. Metadata cannot be edited. operationId: get-rest-external-documents-documentid-metadata x-annotation-dx-category: documents-document summary: find document metadata tags: - dx-category--documents-document /rest/external/documents/{documentId}/original: parameters: - name: documentId in: path required: true schema: type: string description: Document UUID identifier get: responses: '200': description: 'The original content is returned as attachment ' headers: Content-Disposition: description: Sets filename according to RFC 6266 schema: type: string '400': description: 'No document found for the supplied id ' description: 'The Tradeshift platform dispatches documents in ubl format, but it allows the storing of different other formats as well. These are automatically converted to ubl during the dispatch. The original content is stored and can be retrieved using this endpoint. ' operationId: get-rest-external-documents-documentid-original parameters: - name: Accept in: header required: true description: 'The MIME media type of the response content. Example: */* ' schema: type: string x-annotation-dx-category: documents-document summary: Get original content of existing documents within platform tags: - dx-category--documents-document post: responses: '202': description: 'The submission command for storing the document has been saved. In order to check the actual status of uploading, the url returned as **Location** in header should be accessed. ' headers: Location: description: 'The url for checking the status of importing the document. ' schema: type: string '400': description: 'No document provided in request body ' description: 'It supports storing different document formats apart from ubl. In case of a non-ubl document format an automatic conversion to ubl is performed. The document is saved as it was submitted and could be retrieved in its original format. **NOTE: When importing a PDF,only invoices and credit notes are supported, and some discrepancies can be expected between the uploaded PDF and resulting ubl draft. This sometimes happens due to bad quality of the uploaded PDF.** ' operationId: post-rest-external-documents-documentid-original requestBody: content: '*/*': schema: properties: file: description: 'Actual content of the document to be imported ' type: string required: - file type: object required: true parameters: - name: Content-Type in: header required: true description: 'The MIME media type of the request content. Example: */* ' schema: type: string - name: filename in: query required: true description: 'The filename of the original file ' schema: type: string - name: schemaValidateUbl in: query required: true description: 'Whether to validate the created document against the UBL schema definition ' schema: default: true type: boolean - name: validateDocumentProfile in: query required: true description: 'Whether to validate the created document against the document profile ' schema: default: false type: boolean x-annotation-dx-category: documents-document summary: Asynchronously import a document as a DRAFT tags: - dx-category--documents-document /rest/external/documents/{documentId}/original/responses/{responseId}: parameters: - name: responseId in: path required: true schema: type: string description: The dispatch id used for dispatching the document - name: documentId in: path required: true schema: type: string description: Document UUID identifier get: responses: '201': description: The document import request finished successfully with the 'Location' header pointing to the created draft document. '202': description: The document import request is still processing. '400': description: The document import request has failed due to an invalid input. A list of ValidationErrors is provided. '401': description: User is not authorized to access the provided responseId. '404': description: The provided dispatch ID does not exist. '500': description: The document import request has failed due to internal errors. description: 'This resource allows the client to verify the response to an asynchronous import request. The API provides additional information regarding the latest import request of a document. The returned data can either contain a list of document validation errors which prevented the import to run successfully or an import failed message if there were any import failures. If there are no errors returned then the import has completed successfully and the client will receive HTTP 201 Created. If the document import is still in progress then HTTP 202 Accepted is returned. The client can decide wheather to inspect the document import status later or not. ' operationId: get-rest-external-documents-documentid-original-responses-responseid parameters: - name: Accept in: header required: true description: 'The MIME media type of the response content. Example: */* ' schema: type: string x-annotation-dx-category: documents-document summary: get document import request response tags: - dx-category--documents-document /rest/external/documents/{documentId}/properties: parameters: - name: documentId in: path required: true schema: type: string description: Document UUID identifier get: responses: '200': description: Success. content: application/json: schema: example: user-property-1: user-value-1 user-property-2: user-value-2 '401': description: User was not authorized to view the specified document. description: Get all user properties for the specified document, excluding tags. operationId: get-rest-external-documents-documentid-properties parameters: - name: Accept in: header required: true description: 'The MIME media type of the response content. Example: application/json ' schema: default: application/json type: string x-annotation-dx-category: documents-document summary: Get document properties tags: - dx-category--documents-document /rest/external/documents/{documentId}/properties/{property_key}: parameters: - name: property_key in: path required: true schema: type: string description: The key of the property which is being read, added or deleted - name: documentId in: path required: true schema: type: string description: Document UUID identifier get: responses: '200': description: Value of the given property key content: text/plain: schema: example: propertyValue '204': description: Property not found '401': description: User was not authorized to view the specified document. description: Get document property value if found, otherwise return empty response. operationId: get-rest-external-documents-documentid-properties-property_key parameters: - name: Accept in: header required: true description: 'The MIME media type of the response content. Example: text/plain ' schema: default: text/plain type: string x-annotation-dx-category: documents-document summary: Get document property tags: - dx-category--documents-document put: responses: '201': description: Property was added/updated successfully '401': description: User was not authorized to view the specified document. description: 'Add or update document property (key & value). Adding properties can help cross references between Tradeshift and the interfacing system. For example, adding an ERP posting number as a property to the document after posting, can help cross referencing and reconciliation. The property can then be called e.g. "ERPCode" with a value like "12345". While supported it''s not recommended to add properties before the document has been created, as neither reading nor writing pre created properties will be supported in future versions of the API. ' operationId: put-rest-external-documents-documentid-properties-property_key requestBody: content: text/plain: example: propertyValue schema: type: string required: true parameters: - name: Content-Type in: header required: true description: 'The MIME media type of the request content. Example: text/plain ' schema: default: text/plain type: string x-annotation-dx-category: documents-document summary: Add document property tags: - dx-category--documents-document delete: responses: '200': description: Property was deleted succesfully '401': description: User was not authorized to view the specified document. description: Delete document property. operationId: delete-rest-external-documents-documentid-properties-property_key x-annotation-dx-category: documents-document summary: Delete document property tags: - dx-category--documents-document /rest/external/documents/{documentId}/receivercompany: parameters: - name: documentId in: path required: true schema: type: string description: Document UUID identifier get: responses: '200': description: property "receiverCompanyId" found and value returned content: text/plain: schema: example: a74cd946-6a08-11eb-9439-0242ac130002 type: string '204': description: property "receiverCompanyId" not found and no value returned '404': description: document not found description: 'This endpoint allows the retrieval of the “receiverCompanyId” tag, using a document id. During the dispatch, the receiver side copy of the document is tagged with additional information. One of the tags included is the “receiverCompanyId” which represents the company that receives the document. Because this tag is only computed during the dispatch, it is only available on the receiver side copy of the document and it will most likely be the company itself, but in case of forwarding it will be the original receiver. This is useful when an account has multiple child branches, and a user in the primary account wants to do a filtered search for documents received by one of the branches. ' operationId: get-rest-external-documents-documentid-receivercompany parameters: - name: Accept in: header required: true description: media type of the response content it is expecting schema: default: text/plain type: string x-annotation-dx-category: documents-document summary: Get document's receiver company tags: - dx-category--documents-document /rest/external/documents/{documentId}/senderReferenceId: parameters: - name: documentId in: path required: true schema: type: string description: Document UUID identifier get: responses: '200': description: property "reference" found and value returned content: text/plain: schema: example: a74cd946-6a08-11eb-9439-0242ac130002 type: string '404': description: document or property not found description: 'This endpoint returns the referenced document''s id for a given document. During the dispatch, fx. sending a document to another account, a copy is created on the receiver side so that each side of the transaction has it''s own copy of the document. The receiver side copy of the document is tagged with additional information and one of the tags that are added is the “reference” tag, which represents the document id of the sender side copy. Because this tag is only computed during the dispatch, it is only available on the receiver side copy and it is not availble on the sender side. This tag is useful to link the two copies of the document together, and can be used by API integrations to easily retrieve the sender side copy. ' operationId: get-rest-external-documents-documentid-senderreferenceid parameters: - name: Accept in: header required: true description: media type of the response content it is expecting schema: default: text/plain type: string x-annotation-dx-category: documents-document summary: Get document's referenced id tags: - dx-category--documents-document /rest/external/documents/{documentId}/sendercompany: parameters: - name: documentId in: path required: true schema: type: string description: Document UUID identifier get: responses: '200': description: property "senderCompanyId" found and value returned content: text/plain: schema: example: a74cd946-6a08-11eb-9439-0242ac130002 type: string '204': description: property "senderCompanyId" not found and no value returned '404': description: document not found description: 'This endpoint allows the retrieval of the “senderCompanyId” tag, using a document id. During the dispatch, fx. sending a document to another account, a copy is created on the receiver side so that each side of the transaction has it''s own copy of the document. The receiver side copy is tagged with additional information and one of the tags that are added is the “senderCompanyId” tag, which represents the id of the sender account. Because this tag is only computed during the dispatch, it is only available on the receiver side copy and it is not available on the sender side. Use this API to uniquely identify the company in Tradeshift that initiated the dispatch. ' operationId: get-rest-external-documents-documentid-sendercompany parameters: - name: Accept in: header required: true description: media type of the response content it is expecting schema: default: text/plain type: string x-annotation-dx-category: documents-document summary: Get document's sender company tags: - dx-category--documents-document /rest/external/documents/{documentId}/statechange: parameters: - name: documentId in: path required: true schema: type: string description: Document UUID identifier put: responses: '204': description: The state change was applied successfully. '400': description: Bad Request. The request body is empty or contains invalid XML content. '401': description: Unauthorized. The user does not have the UPDATE_DOCUMENT operation. description: 'Creates an ApplicationResponse to change the state of a document (e.g. accept, reject, dispute). This endpoint calls a method secured with the UPDATE_DOCUMENT operation, allowing users with roles such as Accounts Payable Handler to change document state without requiring the CREATE_EDIT_DOCUMENT operation. Only ApplicationResponse documents (tradeshift.status.1.0 profile) are supported. The document profile is fixed and does not need to be specified by the caller. ' operationId: put-rest-external-documents-documentid-statechange requestBody: content: text/xml: schema: type: string application/xml: schema: type: string required: true parameters: - name: Content-Type in: header required: true description: 'The MIME media type of the request content. Must be text/xml or application/xml. ' schema: default: text/xml type: string x-annotation-dx-category: documents-document summary: change document state tags: - dx-category--documents-document /rest/external/documents/{documentId}/tags: parameters: - name: documentId in: path required: true schema: type: string description: Document UUID identifier get: responses: '200': description: The list of tags for the provided document id, if found content: application/json: example: Tag: - document-tag-1 - document-tag-2 - document-tag-3 schema: type: object properties: Tag: type: array items: type: string required: - Tag description: 'Get all tags for the specified document. This is a generic document API endpoint which covers all document types. ' operationId: get-rest-external-documents-documentid-tags parameters: - name: Accept in: header required: true description: 'The MIME media type of the response content. Example: text/xml, application/json ' schema: default: text/xml type: string x-annotation-dx-category: documents-document summary: get document tags tags: - dx-category--documents-document /rest/external/documents/{documentId}/tags/{tag}: parameters: - name: tag in: path required: true schema: type: string description: The tag value that will be added or removed. - name: documentId in: path required: true schema: type: string description: Document UUID identifier put: responses: '201': description: The tag value was updated successfully. description: 'Add or replace a tag on a document. Tags might be visible in the TS user interface, and are shared between API accessors. This is a generic document API endpoint which covers all document types. To avoid pulling the same document again and again, tag the invoice, and then poll for only documents without this tag in #1. A tag is just a string, and a document can have multiple tags. It can be used to keep track of sub steps in the integration, for instance Pulled, Transformed and Posted, which would be three tags suitable for debugging and integration. ' operationId: put-rest-external-documents-documentid-tags-tag x-annotation-dx-category: documents-document summary: add document tag tags: - dx-category--documents-document delete: responses: '200': description: The tag was deleted successfully. description: 'Removes a tag from a document. This will also be removed from the TS user interface. This is a generic document API endpoint which covers all document types. ' operationId: delete-rest-external-documents-documentid-tags-tag x-annotation-dx-category: documents-document summary: delete document tag tags: - dx-category--documents-document /rest/external/gliprefixes/{companyId}: parameters: - name: companyId in: path required: true schema: type: string description: Company (tenant) UUID identifier of company to administer TSGLI prefixes for. get: responses: '200': description: List of TSGLI prefixes content: application/json: example: - Prefix: hq.london Label: Headquarters London prefix - Prefix: de.berlin Label: Berlin office prefix schema: title: Tradeshift Public API 1.0 - GLI List type: array additionalProperties: false items: required: - Label - Prefix type: object properties: Prefix: type: string Label: type: string description: Get all TSGLI prefixes for a company operationId: get-rest-external-gliprefixes-companyid x-annotation-dx-category: accounts-gli_prefixes summary: find gli prefixes tags: - dx-category--accounts-gli_prefixes post: responses: '201': description: The TSGLI prefix was successfully created. '400': description: Bad request error. Any message as text/plain message. description: Create new TSGLI prefix for a company operationId: post-rest-external-gliprefixes-companyid requestBody: content: application/json: example: Prefix: hqprefix Label: Headquarters prefix schema: title: Tradeshift Public API 1.0 - GLI required: - Prefix - Label type: object additionalProperties: false properties: Prefix: type: string Label: type: string application/xml: example: "\n hqprefix\n \n\n" schema: type: object required: true x-annotation-dx-category: accounts-gli_prefixes summary: update gli prefixes tags: - dx-category--accounts-gli_prefixes /rest/external/gliprefixes/{companyId}/{prefix}: parameters: - name: companyId in: path required: true schema: type: string description: Company (tenant) UUID identifier of company to administer TSGLI prefixes for. - name: prefix in: path required: true schema: type: string description: TSGLI prefix delete: responses: '204': description: The TSGLI prefix was successfully deleted. '400': description: Bad request error. Any message as text/plain message. description: Delete TSGLI prefix operationId: delete-rest-external-gliprefixes-companyid-prefix x-annotation-dx-category: accounts-gli_prefixes summary: remove gli prefixes tags: - dx-category--accounts-gli_prefixes /rest/external/legalentities/{id}: parameters: - name: id in: path required: true schema: type: string description: The UUID identifier of the legal entity. put: responses: '201': description: The legal entity is created and there are no validation errors '204': description: An existing legal entity was updated. description: Create or update a legal entity. If a legal entity with the same id already exists, the existing legal entity will be updated, otherwise the legal entity will be created. While updating the legal entity, only the name, description, legal note and alternate id are updated. During the creation or the updating process, a check is done to see if the alternate id is unique within the same company. The operation is allowed only if the id is unique per company. The body of the PUT is an object that specifies all the values to be saved as part of the legal entity. The legal entity id in this object MUST be absent or as same as the legal entity id in the path parameter. LegalNote may contain plain text or a restricted HTML subset (, ,
only); any other markup is stripped server-side. Its visible text, once that formatting is applied, is limited to ~5000 characters - not the raw payload length. operationId: put-rest-external-legalentities-id requestBody: content: application/json: example: Id: 42f824cc-fa0d-4f96-9f82-0987e326cfdf CompanyId: 9b4ce0ff-d8fa-4906-9984-216df4fcbfbc Name: Legal Entity IE22 AlternateEntityId: IE22 Description: Just a test legal entity LegalNote: Payment terms: Net 30 days.
Please reference PO number on all invoices.
Multilingual note: Bitte geben Sie die Bestellnummer auf allen Rechnungen an. schema: required: - Id - CompanyId - Name - AlternateEntityId - Description - LegalNote type: object properties: Id: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string CompanyId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string Name: type: string AlternateEntityId: type: string Description: type: string LegalNote: maxLength: 20000 description: Plain text or a restricted HTML subset (, ,
only - any other markup is stripped server-side). This maxLength bounds the raw, tag-inclusive payload; the enforced limit is ~5000 characters of visible text once formatting is applied. type: string required: true x-annotation-dx-category: accounts-legal_entities summary: update legal entity tags: - dx-category--accounts-legal_entities /rest/external/legalentities/{id}/identifiers/{identifier}: parameters: - name: id in: path required: true schema: type: string description: The UUID identifier of the legal entity. - name: identifier in: path required: true schema: type: string description: The id of the legal entity for which the identifier is to be added. put: responses: '201': description: The identifier was created '204': description: The identifier with the same scheme already existed and was therefore updated. '400': description: No identifier has been provided. '404': description: The provided legal entity ID does not exist. description: Add or update a legal entity identifier. If a value already exists for the identifier scheme then the value of the identifier is updated. Otherwise, a new identifier is added. Except for the label, all other fields are compulsory. The body of the PUT is an identifier object that needs to be added. The legal entity id in this object MUST be absent or as same as the legal entity id in the path parameter. operationId: put-rest-external-legalentities-id-identifiers-identifier requestBody: content: application/json: example: LegalEntityId: f392d865-5852-4255-b013-17075dba5bb6 IdentifierScheme: GB:VAT IdentifierValue: GB987654321 Label: 'VAT Reg No:' schema: required: - LegalEntityId - IdentifierScheme - IdentifierValue - Label type: object properties: LegalEntityId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string IdentifierScheme: type: string IdentifierValue: type: string Label: type: string required: true x-annotation-dx-category: accounts-legal_entities summary: update legal entity identifiers tags: - dx-category--accounts-legal_entities /rest/external/legalentities/{id}/locations/search: parameters: - name: id in: path required: true schema: type: string description: The UUID identifier of the legal entity. get: responses: '200': description: '' content: application/json: example: Id: 64265696-449f-4d1a-9c48-464cd1b4ea73 LegalEntityId: f392d865-5852-4255-b013-17075dba5bb6 Type: BILLING IsDefault: true Address: zip: '33466' country: GB buildingnumber: '3' city: Billing-na-Donu street: Billing street locality: Billingovka schema: required: - Id - LegalEntityId - Type - IsDefault - Address type: object properties: Id: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string LegalEntityId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string Type: type: string IsDefault: type: boolean Address: required: - zip - country - buildingnumber - city - street - locality type: object properties: zip: type: string country: type: string buildingnumber: type: string city: type: string street: type: string locality: type: string '400': description: Will return bad request for more than 5 query parameters. description: Search all locations for a legal entity. The results are paged. operationId: get-rest-external-legalentities-id-locations-search parameters: - name: query in: query required: true description: The list of terms to search for terms are simple words like 'alber' or numeric. Every term is post fixed with a wildcard, numeric values are not, max to 5 terms, throws bad request if above. schema: type: string - name: type in: query description: The type of locations to be fetched e.g billing or delivery. schema: type: string - name: page in: query description: The page number to start fetching locations from. schema: type: integer - name: limit in: query description: The number of items to be fetched per page. schema: maximum: 100 type: integer - name: only_defaults in: query description: Only default addresses. schema: type: boolean x-annotation-dx-category: accounts-legal_entities summary: find locations for legal entity tags: - dx-category--accounts-legal_entities /rest/external/legalentities/{id}/locations/{locationid}: parameters: - name: id in: path required: true schema: type: string description: The UUID identifier of the legal entity. - name: locationid in: path required: true schema: type: string description: The UUID identifier of the location of the legal entity. put: responses: '201': description: The location was created '204': description: Existing location with the same id existed and therefore was updated. '400': description: No location has been provided. '404': description: The provided legal entity ID does not exist. description: Creates or updates a new location. If the id already exists, the call overwrites the existing values with the new ones that are supplied. If no location with the same id exists then a new one will be added. While adding a default location, a check will be done to see if this call does not create another default location over an existing one. If it does, a validation error will be thrown. The path parameter id replaces the one in the object. The body of the PUT is an object which is the location to be saved for the legal entity. The legal entity id in this object MUST be absent or as same as the legal entity id in the path parameter. operationId: put-rest-external-legalentities-id-locations-locationid requestBody: content: application/json: example: Id: 64265696-449f-4d1a-9c48-464cd1b4ea73 LegalEntityId: f392d865-5852-4255-b013-17075dba5bb6 Type: BILLING IsDefault: true Address: zip: '33466' country: GB buildingnumber: '3' city: Billing-na-Donu street: Billing street locality: Billingovka schema: required: - Id - LegalEntityId - Type - IsDefault - Address type: object properties: Id: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string LegalEntityId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string Type: type: string IsDefault: type: boolean Address: required: - zip - country - buildingnumber - city - street - locality type: object properties: zip: type: string country: type: string buildingnumber: type: string city: type: string street: type: string locality: type: string required: true x-annotation-dx-category: accounts-legal_entities summary: update legal entities for location tags: - dx-category--accounts-legal_entities /rest/external/network: get: responses: default: description: '' description: Get the user's connections and a list of companies according to the query parameter operationId: get-rest-external-network parameters: - name: query in: query description: List of keywords to narrow the results schema: type: string - name: limit in: query description: Maximum number of results, and number of results on each skipped page of results schema: default: 25 type: number - name: page in: query description: Number of result pages to skip schema: default: 0 type: number x-annotation-dx-category: network-search summary: search network tags: - dx-category--network-search /rest/external/network/companies: get: responses: default: description: '' description: Get a list of Companies in the Tradeshift network according to the query parameters operationId: get-rest-external-network-companies parameters: - name: query in: query description: List of keywords to narrow the results schema: type: string - name: limit in: query description: Maximum number of results, and number of results on each skipped page of results schema: default: 25 maximum: 100 type: number - name: omitConnections in: query description: Omit companies with existing connections schema: default: false type: boolean - name: page in: query description: Number of result pages to skip schema: default: 0 type: number x-annotation-dx-category: network-search summary: get companies tags: - dx-category--network-search /rest/external/network/connect/{companyId}: parameters: - name: companyId in: path required: true schema: type: string description: The UUID of the company to create a connection to post: responses: '201': description: '' headers: Location: description: Path to retrieve data regarding the newly created connection. schema: type: string description: 'Creates a networkRequest to the specified company. If the company is in the same zone as the current company then a TradeshiftCompanyConnection is created. If the company is not in the same zone a RemoteCompanyConnection is created. ' operationId: post-rest-external-network-connect-companyid x-annotation-dx-category: network-requests summary: add network connection tags: - dx-category--network-requests /rest/external/network/connections: get: responses: '200': description: 'A list of connections matching the criteria. ' content: application/json: example: itemsPerPage: 1 itemCount: 1 numPages: 1 pageId: 1 Connection: - ConnectionId: 1aafff37-5dd9-4df1-8902-4f5500e2bc09 ConnectionType: TradeshiftConnection FromCompanyAccountId: 8f7f8172-eea4-44dd-b5cf-c6c5b8e13b6f ToCompanyAccountId: 35c00082-34ac-44c7-aadb-3c3e094493aa State: ACCEPTED schema: title: Tradeshift Public API 1.0 - Connection Summary List type: object additionalProperties: false properties: itemsPerPage: type: integer itemCount: type: integer numPages: type: integer pageId: type: integer Connection: type: array items: required: - connectionId - connectionType - fromCompanyAccountId - toCompanyAccountId - state type: object properties: connectionId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string connectionType: enum: - TradeshiftConnection - ExternalConnection type: string fromCompanyAccountId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string toCompanyAccountId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string state: enum: - CREATED - REQUESTED - ACCEPTED type: string required: - itemsPerPage - itemCount - numPages - pageId - Connection '400': description: Bad Request due to invalid input. More details in body. description: Returns the connections in the network of the current user according to the query parameter. operationId: get-rest-external-network-connections parameters: - name: companyAccountId in: query description: Get connections to the specified companyAccountId schema: type: string - name: query in: query description: List of keywords to narrow the results schema: type: string - name: type in: query description: Return only connections of this specified type, either 'TradeshiftConnection' or 'ExternalConnection' schema: default: Any type: string - name: passive in: query description: Whether to include passive connections schema: default: false type: boolean - name: includeProperties in: query description: Include connection properties schema: default: false type: boolean - name: excludeWithProperty in: query description: Exclude connections having specified property, can optionally be used in conjuction with excludeWithPropertyValue schema: default: false type: boolean - name: excludeWithPropertyValue in: query description: Exclude connections having specified property value, to be used in conjuction with excludeWithProperty schema: default: false type: boolean - name: branchId in: query description: Only search for connections in this branch id schema: type: string - name: limit in: query description: Maximum number of results, and number of results on each skipped page of results. schema: default: 25 type: number - name: page in: query description: Number of result pages to skip schema: default: 0 type: number x-annotation-dx-category: network-search summary: get connections tags: - dx-category--network-search /rest/external/network/connections/accountingSystemId/{accountingSystemId}: parameters: - name: accountingSystemId in: path required: true schema: type: string description: identifier of the accountingSystemId get: responses: '200': description: 'A list of connections matching the criteria. ' content: application/json: example: itemsPerPage: 1 itemCount: 1 numPages: 1 pageId: 1 Connection: - ConnectionId: 1aafff37-5dd9-4df1-8902-4f5500e2bc09 ConnectionType: TradeshiftConnection FromCompanyAccountId: 8f7f8172-eea4-44dd-b5cf-c6c5b8e13b6f ToCompanyAccountId: 35c00082-34ac-44c7-aadb-3c3e094493aa State: ACCEPTED schema: title: Tradeshift Public API 1.0 - Connection Summary List type: object additionalProperties: false properties: itemsPerPage: type: integer itemCount: type: integer numPages: type: integer pageId: type: integer Connection: type: array items: required: - connectionId - connectionType - fromCompanyAccountId - toCompanyAccountId - state type: object properties: connectionId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string connectionType: enum: - TradeshiftConnection - ExternalConnection type: string fromCompanyAccountId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string toCompanyAccountId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string state: enum: - CREATED - REQUESTED - ACCEPTED type: string required: - itemsPerPage - itemCount - numPages - pageId - Connection '400': description: Bad Request due to invalid input. More details in body. content: application/json: example: ErrorCode: BadRequest Message: Could not resolve type nonExistentType ErrorDetail: - Key: message Value: Could not resolve type nonExistentType - Key: stacktrace Value: "com.tradeshift.commons.exception.BadRequestException: Could not resolve type nonExistentType\n\t\ at com.tradeshift.coding.rest.CodingResource.getCodingLists(CodingResource.java:85)\n\t" ValidationError: [] RequestId: 2c941598-489c-4fac-8543-03cb921feaf7 schema: title: Tradeshift Public API 1.0 - TradeshiftException required: - ErrorCode - Message - RequestId type: object additionalProperties: false properties: ErrorCode: type: string Message: type: string ErrorDetail: type: array items: type: object additionalProperties: false properties: Key: type: string Value: type: string required: - Key - Value ValidationError: type: array items: type: object RequestId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string description: 'Search for existing or potential connections by AccountingSystemId ' operationId: get-rest-external-network-connections-accountingsystemid-accountingsystemid parameters: - name: limit in: query description: Maximum number of results to display, and size of each page to skip. schema: default: 25 minimum: 0 maximum: 100 type: number - name: page in: query description: Number of pages of results to skip schema: default: 0 type: number x-annotation-dx-category: network-search summary: find network connections with accountingSystemId tags: - dx-category--network-search /rest/external/network/connections/companies/{companyId}: parameters: - name: companyId in: path required: true schema: type: string description: UUID identifier of company account. get: responses: '200': description: 'connection matching the criteria. ' content: application/json: example: ConnectionId: ff5ce009-2156-4a61-8d0b-e4dc87a5ad8e ConnectionType: CompanyConnection FromCompanyAccountId: 073f3379-cf9d-4999-99b0-135c0a477633 CompanyName: Seller2 Country: AM AcceptingDocumentProfiles: [] CompanyAccountId: 2d4cc7e4-25a3-4a51-bb2a-e76cbb6432d1 State: ACCEPTED Properties: {} Identifiers: - scheme: TS:ID value: 2d4cc7e4-25a3-4a51-bb2a-e76cbb6432d1 AddressLines: [] RelationTypes: [] schema: type: string '404': description: '' description: 'Get a connection to a specific account. If the current user is connected to the account, the connection will be returned, otherwise 404 will be returned ' operationId: get-rest-external-network-connections-companies-companyid x-annotation-dx-category: network-search summary: get connection for company tags: - dx-category--network-search /rest/external/network/connections/companies/{companyId}/properties/{propertyKey}: parameters: - name: propertyKey in: path required: true schema: type: string description: Connection property key - name: companyId in: path required: true schema: type: string description: UUID identifier of company account. put: responses: '204': description: '' description: Stores a single value for a property key on the multiple connections that point to a given companyAccountId operationId: put-rest-external-network-connections-companies-companyid-properties-propertykey x-annotation-dx-category: network-connection_properties summary: set connection property tags: - dx-category--network-connection_properties /rest/external/network/connections/{connectionId}: parameters: - name: connectionId in: path required: true schema: type: string description: Connection identifier as UUID. get: responses: '200': description: '' content: text/xml: example: "\n 4b7e8e41-9c8f-474b-b71b-2bcca615b441\n\ \ 2016-09-08T14:09:33.098+02:00\n e4e91b4b-0737-40a8-be7b-3f651ffef6a9\n\ \ REQUESTED\n\n" schema: type: object description: 'Retrieves an existing tradeshift or external connection. The returned structure depends on the kind of connection. ' operationId: get-rest-external-network-connections-connectionid x-annotation-dx-category: network-connections summary: find network connection tags: - dx-category--network-connections put: responses: '201': description: 'Returns the URL of the created connection. The location can in some cases contain another connectionId - this happens when creating a new connection to another Tradeshift user, which already exists. ' description: 'Create a new connection or update an existing one. The connection is either an internal Tradeshift connection or an external connection. ' operationId: put-rest-external-network-connections-connectionid requestBody: content: application/json: example: ConnectionType: TradeshiftConnection ConnectionId: 4b7e8e41-9c8f-474b-b71b-2bcca615b441 CreatedDate: '2016-09-08T14:09:33.098+02:00' CompanyAccountId: e4e91b4b-0737-40a8-be7b-3f651ffef6a9 State: ACCEPTED Invitation: SendMail: true schema: title: Tradeshift Public API 1.0 - Conenction required: - ConnectionType type: object additionalProperties: false properties: ConnectionType: enum: - TradeshiftConnection - ExternalConnection type: string ConnectionId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string CreatedDate: pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.\d{3})?(Z|(\+|\-)[0-9]{2}:[0-9]{2}) description: ISO8601 formatted DateTime in UTC timezone, fx 2014-12-09T16:11:53Z with optionally .001 for milliseconds. type: string CompanyAccountId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string Invitation: type: object additionalProperties: false properties: SendMail: type: boolean required: - SendMail Properties: type: object State: enum: - CREATED - REQUESTED - ACCEPTED type: string text/xml: example: "\n 4b7e8e41-9c8f-474b-b71b-2bcca615b441\n\ \ 2016-09-08T14:09:33.098+02:00\n e4e91b4b-0737-40a8-be7b-3f651ffef6a9\n\ \n" schema: type: object required: true x-annotation-dx-category: network-connections summary: update network connection tags: - dx-category--network-connections delete: responses: '204': description: The connection was deleted description: 'Rejects an existing connection, deleting it and makes it as not accepted with the applicable reverse connection. ' operationId: delete-rest-external-network-connections-connectionid x-annotation-dx-category: network-connections summary: delete network connection tags: - dx-category--network-connections /rest/external/network/connections/{connectionId}/detail: parameters: - name: connectionId in: path required: true schema: type: string description: Connection identifier as UUID. get: responses: '200': description: '' '404': description: '' description: 'Get the details for a connection. Contains the full information on the connection, including names, identifiers, etc. The same structure is returned for both tradeshift and external connections. However, only fields relevant to the connection kind are filled. ' operationId: get-rest-external-network-connections-connectionid-detail x-annotation-dx-category: network-connections summary: get connection detail tags: - dx-category--network-connections /rest/external/network/connections/{connectionId}/documentProfiles/{documentType}/inbound: parameters: - name: documentType in: path required: true schema: type: string description: The type of document - name: connectionId in: path required: true schema: type: string description: Connection identifier as UUID. get: responses: '200': description: '' description: Get the document profile that would be applied on incoming documents from the account pointed to by a connection. operationId: get-rest-external-network-connections-connectionid-documentprofiles-documenttype-inbound x-annotation-dx-category: network-document_profiles summary: find doc profile inbound tags: - dx-category--network-document_profiles /rest/external/network/connections/{connectionId}/documentProfiles/{documentType}/outbound: parameters: - name: documentType in: path required: true schema: type: string description: The type of document - name: connectionId in: path required: true schema: type: string description: Connection identifier as UUID. get: responses: '200': description: '' description: Get the document profile that would be applied on outgoing documents from the account pointed to by a connection. operationId: get-rest-external-network-connections-connectionid-documentprofiles-documenttype-outbound x-annotation-dx-category: network-document_profiles summary: find doc profile outbound tags: - dx-category--network-document_profiles /rest/external/network/connections/{connectionId}/properties: parameters: - name: connectionId in: path required: true schema: type: string description: Connection identifier as UUID. get: responses: '200': description: There are any properties on the connection content: text/xml: example: "\n\n \n key\n value\n\ \ \n\n" schema: type: object '204': description: There are no properties on the connection description: 'Retrieves all properties for a connection. Note that one property key can have a list of values. ' operationId: get-rest-external-network-connections-connectionid-properties x-annotation-dx-category: network-connection_properties summary: find properties tags: - dx-category--network-connection_properties put: responses: '204': description: Properties replaced. description: Replaces existing properties with given properties. operationId: put-rest-external-network-connections-connectionid-properties requestBody: content: application/json: example: Items: - Key: propertyKey1 Values: - value1 - value2 - Key: propertyKey2 Values: - value3 schema: title: Tradeshift Public API 1.0 - Connection Property List type: object additionalProperties: false properties: Items: type: array items: type: object required: - Items text/xml: example: "\n\n \n \n propertyKey1\n value1\n\ \ value2\n \n \n \n propertyKey2\n\ \ value3\n \n\n" schema: type: object required: true x-annotation-dx-category: network-connection_properties summary: replace properties tags: - dx-category--network-connection_properties post: responses: '200': description: Properties updated. Response body describes what happened for each property. Only when detailedResponse is true. '204': description: Properties updated. Only when detailedResponse is false. '400': description: Bad payload. E.g. the connection you try to update does not exist. description: Updates given properties. operationId: post-rest-external-network-connections-connectionid-properties requestBody: content: application/json: example: Items: - Key: propertyKey1 Values: - value1 - value2 - Key: propertyKey2 Values: - value3 schema: title: Tradeshift Public API 1.0 - Connection Property List type: object additionalProperties: false properties: Items: type: array items: type: object required: - Items text/xml: example: "\n\n \n \n propertyKey1\n value1\n\ \ value2\n \n \n \n propertyKey2\n\ \ value3\n \n\n" schema: type: object required: true parameters: - name: detailedResponse in: query description: Specify if a detailed response of what was updated should be returned. schema: default: false type: boolean x-annotation-dx-category: network-connection_properties summary: update properties tags: - dx-category--network-connection_properties /rest/external/network/connections/{connectionId}/properties/{key}: parameters: - name: key in: path required: true schema: type: string description: Property key - name: connectionId in: path required: true schema: type: string description: Connection identifier as UUID. get: responses: '200': description: The property exists on the connection content: text/plain: schema: example: myvalue '204': description: the property does not exist on the connection description: Retrieves value for the given connection property key. operationId: get-rest-external-network-connections-connectionid-properties-key x-annotation-dx-category: network-connection_properties summary: find property by key tags: - dx-category--network-connection_properties put: responses: '204': description: value added successfully. description: Stores a single value for given property key, replacing any previous value. operationId: put-rest-external-network-connections-connectionid-properties-key requestBody: content: text/plain: example: newvalue schema: type: string required: true x-annotation-dx-category: network-connection_properties summary: update property by key tags: - dx-category--network-connection_properties delete: responses: '204': description: Property deleted. description: Deletes a property for a given key. operationId: delete-rest-external-network-connections-connectionid-properties-key x-annotation-dx-category: network-connection_properties summary: remove properties tags: - dx-category--network-connection_properties /rest/external/network/connections/{connectionId}/verify: parameters: - name: connectionId in: path required: true schema: type: string description: Connection identifier as UUID. post: responses: '200': description: '' description: 'Approves an "unverified" connection created by another party. "Unverified" connections are created in order to interact with companies that may not be active on Tradeshift. ' operationId: post-rest-external-network-connections-connectionid-verify x-annotation-dx-category: network-connections summary: verify connection tags: - dx-category--network-connections /rest/external/network/favorites: get: responses: default: description: '' description: Get last used connections. operationId: get-rest-external-network-favorites parameters: - name: count in: query description: Number of results to return schema: default: 5 type: number x-annotation-dx-category: network-connections summary: get favorites tags: - dx-category--network-connections /rest/external/network/master/connections: get: responses: '200': description: 'A list of connections matching the criteria. ' content: application/json: example: itemsPerPage: 1 itemCount: 1 numPages: 1 pageId: 1 Connection: - ConnectionId: 1aafff37-5dd9-4df1-8902-4f5500e2bc09 ConnectionType: TradeshiftConnection FromCompanyAccountId: 8f7f8172-eea4-44dd-b5cf-c6c5b8e13b6f ToCompanyAccountId: 35c00082-34ac-44c7-aadb-3c3e094493aa State: ACCEPTED schema: title: Tradeshift Public API 1.0 - Connection Summary List type: object additionalProperties: false properties: itemsPerPage: type: integer itemCount: type: integer numPages: type: integer pageId: type: integer Connection: type: array items: required: - connectionId - connectionType - fromCompanyAccountId - toCompanyAccountId - state type: object properties: connectionId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string connectionType: enum: - TradeshiftConnection - ExternalConnection type: string fromCompanyAccountId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string toCompanyAccountId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string state: enum: - CREATED - REQUESTED - ACCEPTED type: string required: - itemsPerPage - itemCount - numPages - pageId - Connection '400': description: Bad Request due to invalid input. More details in body. description: Returns only master direct connections according to the query parameter and includes connection properties operationId: get-rest-external-network-master-connections parameters: - name: query in: query description: List of keywords to narrow the results schema: type: string - name: excludeWithProperty in: query description: Exclude connections having specified property, can optionally be used in conjuction with excludeWithPropertyValue schema: default: false type: boolean - name: excludeWithPropertyValue in: query description: Exclude connections having specified property value, to be used in conjuction with excludeWithProperty schema: default: false type: boolean - name: limit in: query description: Maximum number of results, and number of results on each skipped page of results. schema: default: 25 type: number - name: page in: query description: Number of result pages to skip schema: default: 0 type: number x-annotation-dx-category: network-search summary: get master connections tags: - dx-category--network-search /rest/external/network/pending: get: responses: default: description: '' description: Get the list of connections which are not yet mutual. operationId: get-rest-external-network-pending parameters: - name: limit in: query description: Maximum number of results, and number of results on each skipped page of results. schema: default: 25 type: number - name: page in: query description: Number of result pages to skip schema: default: 0 type: number x-annotation-dx-category: network-requests summary: list pending connections tags: - dx-category--network-requests /rest/external/network/requests: get: responses: '200': description: '' content: text/xml: example: "\n\n \n 8929a879-9827-4ebc-97f7-a4aaf8ace939\n\ \ a0e2b622-f745-44a6-9691-283751259090\n 2017-03-16T21:43:06.536+01:00\n\ \ \n TradeshiftConnection\n Simon's\ \ Catering and Cocktails\n US\n \n\ \ a0e2b622-f745-44a6-9691-283751259090\n \n \ \ \n \n \n\n" schema: type: object description: Get the list of pending network requests. operationId: get-rest-external-network-requests parameters: - name: limit in: query description: Maximum number of results, and number of results on each skipped page of results. schema: default: 25 type: number - name: page in: query description: Number of result pages to skip schema: default: 0 type: number x-annotation-dx-category: network-requests summary: find network requests tags: - dx-category--network-requests /rest/external/network/requests/{connectionId}/accept: parameters: - name: connectionId in: path required: true schema: type: string description: UUID identifier of the connection post: responses: '200': description: 'The network request was successfully accepted and the two companies are now connected. The connection ID (UUID) is returned as plaintext. ' content: text/plain: schema: example: 8df77821-87b2-4251-b70a-c1ce03ab843d '404': description: Connection request was not accepted or does not exist. description: Accepts an existing connection request and marks the connection as accepted with the applicable reverse connection. operationId: post-rest-external-network-requests-connectionid-accept x-annotation-dx-category: network-requests summary: accept network request tags: - dx-category--network-requests /rest/external/network/suggest: get: responses: '200': description: 'A list of connections matching the criteria. The list can also contain potential connections to other Tradeshift users, these will have a null ConnectionId. ' content: text/xml: example: "\n\n \n TradeshiftConnection\n\ \ ELTEC Inc. rgatonxberlg\n US\n \ \ c885e58e-da10-4cc3-9564-09e897392989\n \n\ \n" schema: type: object '400': description: Bad Request due to invalid input. More details in body. description: 'Search for existing or potential connections based on criteria. One of the following parameter combinations needs to be provided - country and companyName, identifierScheme and identifierValue, propertyKey and propertyValue, or email. All criteria are matched using exact, case-insensitive match unless exactMatch is set as false. ' operationId: get-rest-external-network-suggest parameters: - name: companyName in: query description: Must be provided with country, to search for an exact company name in a given country. schema: type: string - name: country in: query description: 'Must be provided with companyName, to search for an exact company name in a given country. Valid 2-letter country codes are listed in the ''countries'' resource. ' schema: type: string - name: identifierScheme in: query description: 'Identifier scheme used to identify the company (one of the ''companytypes'' resource) Each pair of identifierScheme and identifierValue will be interpreted as OR. ' schema: type: string - name: identifierValue in: query description: Company identifier to search for (according to the given identifierScheme) schema: type: string - name: email in: query description: E-mail address of one of the users of the company. schema: type: string - name: existingConnectionsOnly in: query description: Limit results to only existing connections or only potential connections. Defaults to returning both existing and potential connections. schema: type: boolean - name: limit in: query description: Maximum number of results to display, and size of each page to skip. schema: default: 25 minimum: 0 maximum: 100 type: number - name: page in: query description: Number of pages of results to skip schema: default: 0 type: number - name: propertyKey in: query description: Name of a property set on the connection. schema: type: string - name: propertyValue in: query description: Value of the specified property name on the connection. schema: type: string - name: includeShareableIdentifiers in: query description: Applicable when searching by identifiers. If enabled also include results where matching identifiers are shareable. Disabled by default. schema: default: false type: boolean x-annotation-dx-category: network-search summary: find network suggestions tags: - dx-category--network-search /rest/external/status-change-reasons: get: responses: '200': description: An object containing lists of rejection reasons and dispute reasons. content: application/json: schema: example: rejectionReasons: - code: TX_TVA_ERR label: Taux de TVA erroné disputeReasons: - code: AUTRE label: Autre description: 'Returns the list of available rejection reasons and dispute reasons that can be used when changing the status of a document. ' operationId: get-rest-external-status-change-reasons x-annotation-dx-category: documents-document summary: get status change reasons tags: - dx-category--documents-document /rest/external/usergroups: get: responses: '200': description: 'A list of user groups without members returned as an ExternalUserGroupsList. In case the user does not have any user groups then a blank list is returned. ' '400': description: If one or more of the query parameters are invalid. description: 'Gets list of all user groups that the user has access to. Groups are fetched without members but each user group entry will have the number of members it has. ' operationId: get-rest-external-usergroups parameters: - name: limit in: query description: The number of user groups to fetch per call. schema: default: 25 minimum: 0 maximum: 100 type: integer - name: page in: query description: The page number from which to start fetching the user groups. schema: default: 0 minimum: 0 type: integer - name: state in: query description: The state of the user groups. schema: default: ACTIVE type: string - name: query in: query description: User group name query string. schema: type: string - name: member in: query description: Returned user groups must have the supplied user is as a member. schema: type: string x-annotation-dx-category: users-memberships summary: Find user groups by query string tags: - dx-category--users-memberships /rest/external/users/{userId}/branches: parameters: - name: userId in: path required: true schema: type: string description: User account UUID. get: responses: '200': description: List of branches content: application/json: example: - Id: 59cef2b3-3190-4329-b29f-00ac476b40da Name: Simon's Catering and Cocktails AGrvylkxsnevop Country: US - Id: 89cef2b3-3190-4329-c29f-10ac476b40db Name: 'Petes''s Cocktails ' Country: US schema: title: Tradeshift Public API 1.0 - GLI List type: array additionalProperties: false items: type: object properties: Id: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string Name: type: string Country: type: string required: - Id - Name - Country '400': description: Company hierarchy is corrupted, unable to get root branch. Contact support team. '404': description: User not found or out of company hierarchy description: 'Returns a list of branches for the specified user inside organisation hierarchy of his current company. ' operationId: get-rest-external-users-userid-branches x-annotation-dx-category: users-memberships summary: List of current company branches where the specified user is a member tags: - dx-category--users-memberships /rest/external/users/{userId}/current/branches: parameters: - name: userId in: path required: true schema: type: string description: User account UUID. get: responses: '200': description: List of branches '404': description: User not found or out of company hierarchy description: 'Returns a list of branches for the specified user inside organisation hierarchy of his current company. ' operationId: get-rest-external-users-userid-current-branches x-annotation-dx-category: users-memberships summary: List of current company branches starting from current branch where the specified user is a member tags: - dx-category--users-memberships /rest/external/users/{userId}/memberships/{groupId}: parameters: - name: userId in: path required: true schema: type: string description: UUID identifier of user account. - name: groupId in: path required: true schema: type: string description: UUID identifier of the security group delete: responses: '204': description: Always returns a 204 '400': description: returns bad request when users membership cannot be removed content: application/json: example: ErrorCode: BadRequest Message: Could not resolve type nonExistentType ErrorDetail: - Key: message Value: Could not resolve type nonExistentType - Key: stacktrace Value: "com.tradeshift.commons.exception.BadRequestException: Could not resolve type nonExistentType\n\t\ at com.tradeshift.coding.rest.CodingResource.getCodingLists(CodingResource.java:85)\n\t" ValidationError: [] RequestId: 2c941598-489c-4fac-8543-03cb921feaf7 schema: title: Tradeshift Public API 1.0 - TradeshiftException required: - ErrorCode - Message - RequestId type: object additionalProperties: false properties: ErrorCode: type: string Message: type: string ErrorDetail: type: array items: type: object additionalProperties: false properties: Key: type: string Value: type: string required: - Key - Value ValidationError: type: array items: type: object RequestId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string description: Remove user's membership to a group. operationId: delete-rest-external-users-userid-memberships-groupid x-annotation-dx-category: users-memberships summary: remove user membership tags: - dx-category--users-memberships /rest/external/users/{userId}/overridingcompanyaccountid: parameters: - name: userId in: path required: true schema: type: string description: User account UUID. put: responses: '204': description: Successful '400': description: Bad Request due to invalid input. More details in body. content: application/json: example: ErrorCode: BadRequest Message: Could not resolve type nonExistentType ErrorDetail: - Key: message Value: Could not resolve type nonExistentType - Key: stacktrace Value: "com.tradeshift.commons.exception.BadRequestException: Could not resolve type nonExistentType\n\t\ at com.tradeshift.coding.rest.CodingResource.getCodingLists(CodingResource.java:85)\n\t" ValidationError: [] RequestId: 2c941598-489c-4fac-8543-03cb921feaf7 schema: title: Tradeshift Public API 1.0 - TradeshiftException required: - ErrorCode - Message - RequestId type: object additionalProperties: false properties: ErrorCode: type: string Message: type: string ErrorDetail: type: array items: type: object additionalProperties: false properties: Key: type: string Value: type: string required: - Key - Value ValidationError: type: array items: type: object RequestId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string '401': description: User is not a company admin or out of processed companies hierarchy. content: application/json: example: ErrorCode: Unauthorized Message: The user was not authorized to perform the operation: 37617bf8-4e04-41f2-bd27-9ad9153419ee/Operation(id=15, name=ADMIN_ID) on 35dea17e-fdd7-46d9-88c8-c5c632ebf92b ErrorDetail: - Key: userUuid Value: 37617bf8-4e04-41f2-bd27-9ad9153419ee - Key: securityGroupUuid Value: 35dea17e-fdd7-46d9-88c8-c5c632ebf92b - Key: operationId Value: '15' - Key: operationName Value: ADMIN_ID - Key: stacktrace Value: '' ValidationError: [] RequestId: 92463020-1aa1-48c6-b87f-ad8b97d0599e schema: title: Tradeshift Public API 1.0 - TradeshiftException required: - ErrorCode - Message - RequestId type: object additionalProperties: false properties: ErrorCode: type: string Message: type: string ErrorDetail: type: array items: type: object additionalProperties: false properties: Key: type: string Value: type: string required: - Key - Value ValidationError: type: array items: type: object RequestId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string '404': description: User not found. content: application/json: example: ErrorCode: ResourceNotFound Message: 'Error: ResourceNotFound: The object did not exist' ErrorDetail: [] ValidationError: [] RequestId: e52264d2-f5c9-43ef-92f1-c40fa64cb3c2 schema: title: Tradeshift Public API 1.0 - TradeshiftException required: - ErrorCode - Message - RequestId type: object additionalProperties: false properties: ErrorCode: type: string Message: type: string ErrorDetail: type: array items: type: object additionalProperties: false properties: Key: type: string Value: type: string required: - Key - Value ValidationError: type: array items: type: object RequestId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string description: 'Change home company environment which is displayed after the user logs in. The requester must be a company admin and the requester''s company must be a parent to the user''s company and overriding company, otherwise 401 returns. ' operationId: put-rest-external-users-userid-overridingcompanyaccountid requestBody: content: text/plain: example: f54bca78-3ac9-4843-ae4a-f6808c0ea477 schema: type: string required: true x-annotation-dx-category: users-memberships summary: Change home branch for a user tags: - dx-category--users-memberships /rest/external/users/{userId}/primarybranch/{newGroupId}: parameters: - name: userId in: path required: true schema: type: string description: User account UUID. - name: newGroupId in: path required: true schema: type: string description: UUID identifier of the security group put: responses: '204': description: OK '400': description: User is not a memeber of new primary group or group is out of company hierarchy '401': description: Requester is not authorized to perform operation. '404': description: User not found or out of company hierarchy description: 'Change current primary group and remove old primary group membership. The user must be a member of new group. The requester must be a company admin and requester''s company must be a parent to user''s primary company, otherwise 401 returns. ' operationId: put-rest-external-users-userid-primarybranch-newgroupid x-annotation-dx-category: users-memberships summary: Change current primary group and remove old primary group membership tags: - dx-category--users-memberships /rest/external/assignments: get: responses: '200': description: 'Returns the paged list of filtered assignments.
If no assignments are found it returns an empty paged list. ' content: application/json: example: total: 2 items: - id: 460b2008-8872-4620-8ed2-410ce5640fb9 externalId: external id subjectId: 280b2305-8872-3620-9ed2-010ce5640fb7 app: APVerification createdBy: 760b2008-8872-4620-8ed2-410ce5640fb4 assigneeIds: - 12067d82-1308-4fd1-9d0b-12eafe99c4cd companyId: 3fba6061-b51e-49bb-8c08-6cf6d28a304a tags: - A tag - Another tag type: DOCUMENT createdAt: '2018-10-25T10:56:27.311+03:00' modifiedAt: '2018-10-25T10:56:27.311+03:00' outcome: An outcome status: OPEN modifiedBy: 12067d82-1308-4fd1-9d0b-12eafe99c4cd comment: Assigned to default assignee. context: format: App.Tradeshift context: - freeJson - id: a60b2008-8872-4620-8ed2-410ce5640fb9 externalId: external id subjectId: 360b2008-8872-4620-8ed2-410ce5640fb0 app: APVerification createdBy: 260b2008-8872-4620-8ed2-410ce5640fb3 assigneeIds: - 12067d82-1308-4fd1-9d0b-12eafe99c4cd companyId: 3fba6061-b51e-49bb-8c08-6cf6d28a304a tags: [] type: A type createdAt: '2018-10-25T16:40:31.795+03:00' modifiedAt: '2018-10-25T16:40:31.795+03:00' outcome: An outcome status: CLOSED modifiedBy: 12067d82-1308-4fd1-9d0b-12eafe99c4cd comment: Assigned to default assignee. context: format: App.Tradeshift context: {} empty: false firstItem: id: 460b2008-8872-4620-8ed2-410ce5640fb9 externalId: External-Id subjectId: 280b2305-8872-3620-9ed2-010ce5640fb7 app: APVerification createdBy: 760b2008-8872-4620-8ed2-410ce5640fb4 assigneeIds: - 12067d82-1308-4fd1-9d0b-12eafe99c4cd companyId: 3fba6061-b51e-49bb-8c08-6cf6d28a304a tags: - A tag - Another tag type: DOCUMENT createdAt: '2018-10-25T10:56:27.311+03:00' modifiedAt: '2018-10-25T10:56:27.311+03:00' outcome: An outcome status: OPEN modifiedBy: 12067d82-1308-4fd1-9d0b-12eafe99c4cd comment: Assigned to default assignee. context: format: App.Tradeshift context: - freeJson schema: title: Tradeshift Public API 1.0 - Assignments required: - total - items - empty type: object additionalProperties: false properties: total: minimum: 0 description: The number of assignments returned for the query type: integer items: minItems: 0 uniqueItems: true type: array additionalProperties: false items: required: - id - subjectId - type type: object properties: id: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string subjectId: pattern: ^.{1,255}$ type: string app: pattern: ^.{1,255}$ type: string createdBy: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string assigneeIds: minItems: 1 uniqueItems: true type: array additionalProperties: false items: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string companyId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string tags: minItems: 0 uniqueItems: true type: array additionalProperties: false items: type: string type: pattern: ^.{1,255}$ type: string modifiedBy: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string createdAt: pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.\d{3})?(Z|(\+|\-)[0-9]{2}:[0-9]{2}) description: ISO8601 formatted DateTime in UTC timezone, fx 2014-12-09T16:11:53Z with optionally .001 for milliseconds. type: string externalId: pattern: ^.{1,255}$ type: string modifiedAt: pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.\d{3})?(Z|(\+|\-)[0-9]{2}:[0-9]{2}) description: ISO8601 formatted DateTime in UTC timezone, fx 2014-12-09T16:11:53Z with optionally .001 for milliseconds. type: string assignmentLogs: minItems: 0 uniqueItems: true type: array items: type: object properties: id: type: integer outcome: type: string externalId: pattern: ^.{1,255}$ type: string status: type: string comment: type: string tags: minItems: 0 uniqueItems: true type: array additionalProperties: false items: type: string createdAt: pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.\d{3})?(Z|(\+|\-)[0-9]{2}:[0-9]{2}) description: ISO8601 formatted DateTime in UTC timezone, fx 2014-12-09T16:11:53Z with optionally .001 for milliseconds. type: string required: - id - outcome - externalId - status - comment - tags - createdAt context: type: object delegations: uniqueItems: true type: array items: required: - delegator - delegatee type: object properties: delegator: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string delegatee: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string delegatorType: type: string empty: type: boolean firstItem: required: - id - subjectId - type type: object properties: id: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string subjectId: pattern: ^.{1,255}$ type: string app: pattern: ^.{1,255}$ type: string createdBy: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string assigneeIds: minItems: 1 uniqueItems: true type: array additionalProperties: false items: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string companyId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string tags: minItems: 0 uniqueItems: true type: array additionalProperties: false items: type: string type: pattern: ^.{1,255}$ type: string modifiedBy: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string createdAt: pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.\d{3})?(Z|(\+|\-)[0-9]{2}:[0-9]{2}) description: ISO8601 formatted DateTime in UTC timezone, fx 2014-12-09T16:11:53Z with optionally .001 for milliseconds. type: string externalId: pattern: ^.{1,255}$ type: string modifiedAt: pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.\d{3})?(Z|(\+|\-)[0-9]{2}:[0-9]{2}) description: ISO8601 formatted DateTime in UTC timezone, fx 2014-12-09T16:11:53Z with optionally .001 for milliseconds. type: string assignmentLogs: minItems: 0 uniqueItems: true type: array items: type: object properties: id: type: integer outcome: type: string externalId: pattern: ^.{1,255}$ type: string status: type: string comment: type: string tags: minItems: 0 uniqueItems: true type: array additionalProperties: false items: type: string createdAt: pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.\d{3})?(Z|(\+|\-)[0-9]{2}:[0-9]{2}) description: ISO8601 formatted DateTime in UTC timezone, fx 2014-12-09T16:11:53Z with optionally .001 for milliseconds. type: string required: - id - outcome - externalId - status - comment - tags - createdAt context: type: object delegations: uniqueItems: true type: array items: required: - delegator - delegatee type: object properties: delegator: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string delegatee: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string delegatorType: type: string '400': description: The page number is negative. content: application/json: example: ErrorCode: BadRequest Message: An invalid request was made - Parameter 'page' cannot be negative ErrorDetail: - Key: message Value: Parameter 'page' cannot be negative. ValidationError: [] schema: type: string '401': description: '' '404': description: '' content: text/xml: schema: example: "\n ResourceNotFound\n Error: ResourceNotFound:\ \ The object did not exist\n fff29544-8039-499f-91c5-b3c9e4e3d8b1\n\ \n" description: 'Get a paginated list of assignments filtered by the following query parameters. The search will be performed on assignments from the current branch and child branches. ' operationId: get-rest-external-assignments parameters: - name: companyid in: query description: Company (tenant) UUID used to filter assignments. schema: type: string - name: assigneeids in: query description: List of UUIDs of assignees, used to filter assignments. schema: type: string - name: with_tags in: query description: List of strings representing tags to be used to filter assignments. schema: type: string - name: without_tags in: query description: List of strings representing tags to be used to exclude assignments. schema: type: string - name: status in: query description: List of statuses to be used to filter assignment (e.g. OPEN, CLOSED, WAITING_FOR_ASSIGNEES) schema: type: string - name: type in: query description: String representing a type used to filter assignments. schema: type: string - name: type_category in: query description: String representing a type category(a collection of assignment types) schema: type: string - name: created_from in: query description: Datetime used to get assignments created after this date. schema: type: string - name: created_to in: query description: Datetime used to get assignments created before this date. schema: type: string - name: modified_from in: query description: Datetime used to get assignments modified after this date. schema: type: string - name: modified_to in: query description: Datetime used to get assignments modified before this date. schema: type: string - name: subjectid in: query description: 'Represents a free form identifier ( usually a document UUID ) of the subject the assignment is referring to and can be used to search assignments by. ' schema: type: string - name: externalid in: query description: 'Free form string representing a custom client identifier which can be used later to search assignments by. Assignments service makes no uniqueness validation on this identifier. ' schema: type: string - name: page in: query description: Number representing the page to be return from the paginated result-set. schema: default: 0 type: integer - name: limit in: query description: The number of assignments displayed per page. schema: default: 20 type: integer - name: sortby in: query description: The sorting field. schema: type: string - name: direction in: query description: The sorting direction. schema: type: string x-annotation-dx-category: assignments-find summary: find assignments tags: - dx-category--assignments-find post: responses: '201': description: '  The assignment was successfully saved.
  The companyId for the new assignment is X-Tradeshift-TenantId header.
  The createdBy property is the user in X-Tradeshift-ActorId header.
  If the assignee list has some invalid assignees or some that are not members of the current branch, those will be ignored and only the valid users (active or inactive) will be saved.
  Furthermore, if there is any auto-assignment available for the provided assignees, these will be added as delegates or assignees.
' content: application/json: example: id: a60b2008-8872-4620-8ed2-410ce5640fb9 externalId: External-Id subjectId: 360b2008-8872-4620-8ed2-410ce5640fb0 app: APVerification createdBy: 260b2008-8872-4620-8ed2-410ce5640fb3 assigneeIds: - 12067d82-1308-4fd1-9d0b-12eafe99c4cd companyId: 3fba6061-b51e-49bb-8c08-6cf6d28a304a tags: - A tag - Another tag type: A type createdAt: '2018-10-25T16:40:31.795+03:00' modifiedAt: '2018-10-25T16:40:31.795+03:00' outcome: An outcome status: CLOSED modifiedBy: 12067d82-1308-4fd1-9d0b-12eafe99c4cd comment: A comment context: format: App.Tradeshift context: {} schema: title: Tradeshift Public API 1.0 - Assignment required: - id - subjectId - type type: object additionalProperties: false properties: id: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string subjectId: pattern: ^.{1,255}$ type: string app: pattern: ^.{1,255}$ type: string createdBy: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string assigneeIds: uniqueItems: true type: array additionalProperties: false items: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string companyId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string tags: minItems: 0 uniqueItems: true type: array additionalProperties: false items: type: string type: pattern: ^.{1,255}$ type: string comment: type: string outcome: type: string status: type: string externalId: pattern: ^.{1,255}$ type: string modifiedBy: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string createdAt: pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.\d{3})?(Z|(\+|\-)[0-9]{2}:[0-9]{2}) description: ISO8601 formatted DateTime in UTC timezone, fx 2014-12-09T16:11:53Z with optionally .001 for milliseconds. type: string modifiedAt: pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.\d{3})?(Z|(\+|\-)[0-9]{2}:[0-9]{2}) description: ISO8601 formatted DateTime in UTC timezone, fx 2014-12-09T16:11:53Z with optionally .001 for milliseconds. type: string context: type: object delegations: uniqueItems: true type: array items: required: - delegator - delegatee type: object properties: delegator: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string delegatee: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string delegatorType: type: string '400': description: Invalid input. The response will contain a list of one or more validation errors. content: application/json: schema: type: string '401': description: '' '404': description: '' content: text/xml: schema: example: "\n ResourceNotFound\n Error: ResourceNotFound:\ \ The object did not exist\n fff29544-8039-499f-91c5-b3c9e4e3d8b1\n\ \n" '500': description: '  A default assignee is absent, invalid or inactive or problems have occurred while saving in the DB.
  When it indicates problems regarding default assignee, it returns a response body with the ErrorCode "AbsentDefaultAssignee" or "InvalidDefaultAssignee" when the default assignee is invalid or inactive. This error occurs only when no assignee is provided or none of the provided assignees one are valid and members of the current branch. ' content: application/json: example: ErrorCode: AbsentDefaultAssignee Message: Default assignee is absent. - Default assignee is absent. ErrorDetail: [] ValidationError: [] schema: type: string description: 'Creates a new assignment.
It must have the following mandatory JSON nodes in the request body:
  • type
  • subjectId
The list of assigneeIds, if provided, must contain at least one valid user or user group.
If no assignees are provided or all provided are missing/invalid/are not members of the current branch, the API will return an error(no default assignee logic is used).The assignees can be users or teams.
Also, for the provided assignees, auto-assignees and delegations will be added to the assignment, if any.
' operationId: post-rest-external-assignments requestBody: content: application/json: example: type: DOCUMENT subjectId: 360b2008-8872-4620-8ed2-410ce5640fb0 externalId: External-Id assigneeIds: - 12067d82-1308-4fd1-9d0b-12eafe99c4cd - ef9725fc-bc4e-4b6c-aa87-26d3a0f334e4 app: APVerification assignerId: 6b380d88-050a-4274-a8a4-de815e36c3cf tags: - A tag - Another tag context: format: App.Tradeshift context: {} schema: title: Tradeshift Public API 1.0 - Assignment required: - type - subjectId type: object additionalProperties: false properties: type: pattern: ^.{1,255}$ type: string subjectId: pattern: ^.{1,255}$ type: string assigneeIds: uniqueItems: true type: array additionalProperties: false items: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string externalId: pattern: ^.{1,255}$ type: string app: pattern: ^.{1,255}$ type: string comment: type: string assignerId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string tags: minItems: 0 uniqueItems: true type: array additionalProperties: false items: type: string context: type: object required: true parameters: [] x-annotation-dx-category: assignments-create summary: create assignment tags: - dx-category--assignments-create /rest/external/assignments/{id}: parameters: - name: id in: path required: true schema: type: string description: An UUID representing the assignment id. get: responses: '200': description: Successfully returns the assignment with the given id. content: application/json: example: id: a60b2008-8872-4620-8ed2-410ce5640fb9 externalId: External-Id subjectId: 360b2008-8872-4620-8ed2-410ce5640fb0 app: APVerification createdBy: 260b2008-8872-4620-8ed2-410ce5640fb3 assigneeIds: - 12067d82-1308-4fd1-9d0b-12eafe99c4cd companyId: 3fba6061-b51e-49bb-8c08-6cf6d28a304a tags: - A tag - Another tag type: A type createdAt: '2018-10-25T16:40:31.795+03:00' modifiedAt: '2018-10-25T16:40:31.795+03:00' outcome: An outcome status: CLOSED modifiedBy: 12067d82-1308-4fd1-9d0b-12eafe99c4cd comment: A comment context: format: App.Tradeshift context: {} schema: title: Tradeshift Public API 1.0 - Assignment required: - id - subjectId - type type: object additionalProperties: false properties: id: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string subjectId: pattern: ^.{1,255}$ type: string app: pattern: ^.{1,255}$ type: string createdBy: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string assigneeIds: uniqueItems: true type: array additionalProperties: false items: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string companyId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string tags: minItems: 0 uniqueItems: true type: array additionalProperties: false items: type: string type: pattern: ^.{1,255}$ type: string comment: type: string outcome: type: string status: type: string externalId: pattern: ^.{1,255}$ type: string modifiedBy: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string createdAt: pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.\d{3})?(Z|(\+|\-)[0-9]{2}:[0-9]{2}) description: ISO8601 formatted DateTime in UTC timezone, fx 2014-12-09T16:11:53Z with optionally .001 for milliseconds. type: string modifiedAt: pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.\d{3})?(Z|(\+|\-)[0-9]{2}:[0-9]{2}) description: ISO8601 formatted DateTime in UTC timezone, fx 2014-12-09T16:11:53Z with optionally .001 for milliseconds. type: string context: type: object delegations: uniqueItems: true type: array items: required: - delegator - delegatee type: object properties: delegator: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string delegatee: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string delegatorType: type: string '401': description: '' '403': description: Current user does not have access to assignment content: application/json: schema: type: string '404': description: '' content: text/xml: schema: example: "\n ResourceNotFound\n Error: ResourceNotFound:\ \ The object did not exist\n fff29544-8039-499f-91c5-b3c9e4e3d8b1\n\ \n" description: 'Get the assignment with the given id.
The assignment will be visible if the company is the current branch or one of the child branches. ' operationId: get-rest-external-assignments-id parameters: [] x-annotation-dx-category: assignments-find summary: find assignment tags: - dx-category--assignments-find patch: responses: '200': description: '  The assignment was successfully updated are new assignment is returned
' content: application/json: example: id: a60b2008-8872-4620-8ed2-410ce5640fb9 externalId: External-Id subjectId: 360b2008-8872-4620-8ed2-410ce5640fb0 app: APVerification createdBy: 260b2008-8872-4620-8ed2-410ce5640fb3 assigneeIds: - 12067d82-1308-4fd1-9d0b-12eafe99c4cd companyId: 3fba6061-b51e-49bb-8c08-6cf6d28a304a tags: - A tag - Another tag type: A type createdAt: '2018-10-25T16:40:31.795+03:00' modifiedAt: '2018-10-25T16:40:31.795+03:00' outcome: An outcome status: CLOSED modifiedBy: 12067d82-1308-4fd1-9d0b-12eafe99c4cd comment: A comment context: format: App.Tradeshift context: {} schema: title: Tradeshift Public API 1.0 - Assignment required: - id - subjectId - type type: object additionalProperties: false properties: id: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string subjectId: pattern: ^.{1,255}$ type: string app: pattern: ^.{1,255}$ type: string createdBy: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string assigneeIds: uniqueItems: true type: array additionalProperties: false items: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string companyId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string tags: minItems: 0 uniqueItems: true type: array additionalProperties: false items: type: string type: pattern: ^.{1,255}$ type: string comment: type: string outcome: type: string status: type: string externalId: pattern: ^.{1,255}$ type: string modifiedBy: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string createdAt: pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.\d{3})?(Z|(\+|\-)[0-9]{2}:[0-9]{2}) description: ISO8601 formatted DateTime in UTC timezone, fx 2014-12-09T16:11:53Z with optionally .001 for milliseconds. type: string modifiedAt: pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.\d{3})?(Z|(\+|\-)[0-9]{2}:[0-9]{2}) description: ISO8601 formatted DateTime in UTC timezone, fx 2014-12-09T16:11:53Z with optionally .001 for milliseconds. type: string context: type: object delegations: uniqueItems: true type: array items: required: - delegator - delegatee type: object properties: delegator: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string delegatee: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string delegatorType: type: string '400': description: Invalid input. The response will contain a list of one or more validation errors. content: application/json: schema: type: string '401': description: '' '403': description: Current user does not have access to assignment content: application/json: schema: type: string '404': description: '' content: text/xml: schema: example: "\n ResourceNotFound\n Error: ResourceNotFound:\ \ The object did not exist\n fff29544-8039-499f-91c5-b3c9e4e3d8b1\n\ \n" '500': description: '  The service failed unexpectedly while updating the assignment. ' content: application/json: example: ErrorCode: AbsentDefaultAssignee Message: Default assignee is absent. - Default assignee is absent. ErrorDetail: [] ValidationError: [] schema: type: string description: 'Updates an assignment with assignees, tags, comment, outcome. The new assignees will be added to the existing ones and the duplicates will be removed. The new tags will be added to the existing ones and the duplicates will be removed. The comment will replace the existing one. The outcome will replace the existing one. ' operationId: patch-rest-external-assignments-id requestBody: content: application/json: example: addAssigneeIds: - e6aaeb31-b33d-40a1-bd05-a4d5bc1410ea - 12067d82-1308-4fd1-9d0b-12eafe99c4cd addTags: - tag1 - tag2 updateComment: comment updateOutcome: outcome schema: title: Tradeshift Public API 1.0 - Assignment type: object additionalProperties: false properties: addAssigneeIds: minItems: 1 uniqueItems: true type: array additionalProperties: false items: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string addTags: minItems: 0 uniqueItems: true type: array additionalProperties: false items: type: string updateComment: type: string updateOutcome: pattern: ^.{1,255}$ type: string context: type: object required: - addAssigneeIds - addTags - updateComment - updateOutcome - context required: true parameters: [] x-annotation-dx-category: assignments-update summary: update assignment tags: - dx-category--assignments-update /rest/external/assignments/{id}/close: parameters: - name: id in: path required: true schema: type: string description: An UUID representing the assignment id. put: responses: '204': description: The assignment is successfully closed. '400': description: The assignment cannot be found or closed. content: application/json: example: ErrorCode: BadRequest Message: Could not resolve type nonExistentType ErrorDetail: - Key: message Value: Could not resolve type nonExistentType - Key: stacktrace Value: "com.tradeshift.commons.exception.BadRequestException: Could not resolve type nonExistentType\n\t\ at com.tradeshift.coding.rest.CodingResource.getCodingLists(CodingResource.java:85)\n\t" ValidationError: [] RequestId: 2c941598-489c-4fac-8543-03cb921feaf7 schema: type: string '401': description: '' '403': description: Current user does not have access to assignment content: application/json: schema: type: string '404': description: '' content: text/xml: schema: example: "\n ResourceNotFound\n Error: ResourceNotFound:\ \ The object did not exist\n fff29544-8039-499f-91c5-b3c9e4e3d8b1\n\ \n" description: 'Update the status of the assignment to CLOSED.
The assignment can be closed if it is in OPEN state. ' operationId: put-rest-external-assignments-id-close parameters: [] x-annotation-dx-category: assignments-update summary: update assignment status to CLOSED tags: - dx-category--assignments-update /rest/external/assignments/{id}/comment: parameters: - name: id in: path required: true schema: type: string description: An UUID representing the assignment id. put: responses: '204': description: The comment is successfully updated. '400': description: The assignment cannot be found or updated. content: application/json: example: ErrorCode: BadRequest Message: Could not resolve type nonExistentType ErrorDetail: - Key: message Value: Could not resolve type nonExistentType - Key: stacktrace Value: "com.tradeshift.commons.exception.BadRequestException: Could not resolve type nonExistentType\n\t\ at com.tradeshift.coding.rest.CodingResource.getCodingLists(CodingResource.java:85)\n\t" ValidationError: [] RequestId: 2c941598-489c-4fac-8543-03cb921feaf7 schema: type: string '401': description: '' '403': description: Current user does not have access to assignment content: application/json: schema: type: string '404': description: '' content: text/xml: schema: example: "\n ResourceNotFound\n Error: ResourceNotFound:\ \ The object did not exist\n fff29544-8039-499f-91c5-b3c9e4e3d8b1\n\ \n" description: 'Update the comment of the assignment.
You should put the new comment of the assignment in the request body as plain text. ' operationId: put-rest-external-assignments-id-comment requestBody: content: text/plain: example: A comment schema: type: string required: true parameters: [] x-annotation-dx-category: assignments-update summary: update assignment comment tags: - dx-category--assignments-update /rest/external/assignments/{id}/reassign/{assigneeid}: parameters: - name: id in: path required: true schema: type: string description: An UUID representing the assignment id. - name: assigneeid in: path required: true schema: type: string description: An UUID representing the id of the new assignee. post: responses: '200': description: '  The assignment is successfully reassigned. ' content: application/json: example: id: a60b2008-8872-4620-8ed2-410ce5640fb9 externalId: External-Id subjectId: 360b2008-8872-4620-8ed2-410ce5640fb0 app: APVerification createdBy: 260b2008-8872-4620-8ed2-410ce5640fb3 assigneeIds: - 12067d82-1308-4fd1-9d0b-12eafe99c4cd companyId: 3fba6061-b51e-49bb-8c08-6cf6d28a304a tags: - A tag - Another tag type: A type createdAt: '2018-10-25T16:40:31.795+03:00' modifiedAt: '2018-10-25T16:40:31.795+03:00' outcome: An outcome status: CLOSED modifiedBy: 12067d82-1308-4fd1-9d0b-12eafe99c4cd comment: A comment context: format: App.Tradeshift context: {} schema: title: Tradeshift Public API 1.0 - Assignment required: - id - subjectId - type type: object additionalProperties: false properties: id: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string subjectId: pattern: ^.{1,255}$ type: string app: pattern: ^.{1,255}$ type: string createdBy: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string assigneeIds: uniqueItems: true type: array additionalProperties: false items: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string companyId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string tags: minItems: 0 uniqueItems: true type: array additionalProperties: false items: type: string type: pattern: ^.{1,255}$ type: string comment: type: string outcome: type: string status: type: string externalId: pattern: ^.{1,255}$ type: string modifiedBy: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string createdAt: pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.\d{3})?(Z|(\+|\-)[0-9]{2}:[0-9]{2}) description: ISO8601 formatted DateTime in UTC timezone, fx 2014-12-09T16:11:53Z with optionally .001 for milliseconds. type: string modifiedAt: pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.\d{3})?(Z|(\+|\-)[0-9]{2}:[0-9]{2}) description: ISO8601 formatted DateTime in UTC timezone, fx 2014-12-09T16:11:53Z with optionally .001 for milliseconds. type: string context: type: object delegations: uniqueItems: true type: array items: required: - delegator - delegatee type: object properties: delegator: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string delegatee: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string delegatorType: type: string '204': description: The new assignee is the current assignee. '400': description: The assignment is in CLOSED state. content: application/json: example: ErrorCode: BadRequest Message: Could not resolve type nonExistentType ErrorDetail: - Key: message Value: Could not resolve type nonExistentType - Key: stacktrace Value: "com.tradeshift.commons.exception.BadRequestException: Could not resolve type nonExistentType\n\t\ at com.tradeshift.coding.rest.CodingResource.getCodingLists(CodingResource.java:85)\n\t" ValidationError: [] RequestId: 2c941598-489c-4fac-8543-03cb921feaf7 schema: type: string '401': description: '' '404': description: '' content: text/xml: schema: example: "\n ResourceNotFound\n Error: ResourceNotFound:\ \ The object did not exist\n fff29544-8039-499f-91c5-b3c9e4e3d8b1\n\ \n" '500': description: '  The default assignee is absent, invalid or inactive.
  It returns a response body with the ErrorCode "AbsentDefaultAssignee" or "InvalidDefaultAssignee" when the default assignee is invalid or inactive. ' content: application/json: example: ErrorCode: AbsentDefaultAssignee Message: Default assignee is absent. - Default assignee is absent. ErrorDetail: [] ValidationError: [] schema: type: string description: 'Reassign the assignment with the given id to the new assignee. ' operationId: post-rest-external-assignments-id-reassign-assigneeid parameters: [] x-annotation-dx-category: assignments-reassign summary: reassign assignment tags: - dx-category--assignments-reassign /rest/external/assignments/assignees/{from_assigneeid}/reassignees/{to_assigneeid}: parameters: - name: from_assigneeid in: path required: true schema: type: string description: An UUID representing the assignee id. - name: to_assigneeid in: path required: true schema: type: string description: An UUID representing the reassignee id. put: responses: '201': description: '  The assignment is successfully reassigned.
  If the reassignee is not valid, active and member of the current branch, the assignments will be assigned to the default assignee and this action will be marked in the response body.
  Excepting this case, the response does not have a body. ' content: application/json: example: total: 2 items: - id: 460b2008-8872-4620-8ed2-410ce5640fb9 externalId: external id subjectId: 280b2305-8872-3620-9ed2-010ce5640fb7 app: APVerification createdBy: 760b2008-8872-4620-8ed2-410ce5640fb4 assigneeIds: - 12067d82-1308-4fd1-9d0b-12eafe99c4cd companyId: 3fba6061-b51e-49bb-8c08-6cf6d28a304a tags: - A tag - Another tag type: DOCUMENT createdAt: '2018-10-25T10:56:27.311+03:00' modifiedAt: '2018-10-25T10:56:27.311+03:00' outcome: An outcome status: OPEN modifiedBy: 12067d82-1308-4fd1-9d0b-12eafe99c4cd comment: Assigned to default assignee. context: format: App.Tradeshift context: - freeJson - id: a60b2008-8872-4620-8ed2-410ce5640fb9 externalId: external id subjectId: 360b2008-8872-4620-8ed2-410ce5640fb0 app: APVerification createdBy: 260b2008-8872-4620-8ed2-410ce5640fb3 assigneeIds: - 12067d82-1308-4fd1-9d0b-12eafe99c4cd companyId: 3fba6061-b51e-49bb-8c08-6cf6d28a304a tags: [] type: A type createdAt: '2018-10-25T16:40:31.795+03:00' modifiedAt: '2018-10-25T16:40:31.795+03:00' outcome: An outcome status: CLOSED modifiedBy: 12067d82-1308-4fd1-9d0b-12eafe99c4cd comment: Assigned to default assignee. context: format: App.Tradeshift context: {} empty: false firstItem: id: 460b2008-8872-4620-8ed2-410ce5640fb9 externalId: External-Id subjectId: 280b2305-8872-3620-9ed2-010ce5640fb7 app: APVerification createdBy: 760b2008-8872-4620-8ed2-410ce5640fb4 assigneeIds: - 12067d82-1308-4fd1-9d0b-12eafe99c4cd companyId: 3fba6061-b51e-49bb-8c08-6cf6d28a304a tags: - A tag - Another tag type: DOCUMENT createdAt: '2018-10-25T10:56:27.311+03:00' modifiedAt: '2018-10-25T10:56:27.311+03:00' outcome: An outcome status: OPEN modifiedBy: 12067d82-1308-4fd1-9d0b-12eafe99c4cd comment: Assigned to default assignee. context: format: App.Tradeshift context: - freeJson schema: title: Tradeshift Public API 1.0 - Assignments required: - total - items - empty type: object additionalProperties: false properties: total: minimum: 0 description: The number of assignments returned for the query type: integer items: minItems: 0 uniqueItems: true type: array additionalProperties: false items: required: - id - subjectId - type type: object properties: id: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string subjectId: pattern: ^.{1,255}$ type: string app: pattern: ^.{1,255}$ type: string createdBy: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string assigneeIds: minItems: 1 uniqueItems: true type: array additionalProperties: false items: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string companyId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string tags: minItems: 0 uniqueItems: true type: array additionalProperties: false items: type: string type: pattern: ^.{1,255}$ type: string modifiedBy: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string createdAt: pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.\d{3})?(Z|(\+|\-)[0-9]{2}:[0-9]{2}) description: ISO8601 formatted DateTime in UTC timezone, fx 2014-12-09T16:11:53Z with optionally .001 for milliseconds. type: string externalId: pattern: ^.{1,255}$ type: string modifiedAt: pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.\d{3})?(Z|(\+|\-)[0-9]{2}:[0-9]{2}) description: ISO8601 formatted DateTime in UTC timezone, fx 2014-12-09T16:11:53Z with optionally .001 for milliseconds. type: string assignmentLogs: minItems: 0 uniqueItems: true type: array items: type: object properties: id: type: integer outcome: type: string externalId: pattern: ^.{1,255}$ type: string status: type: string comment: type: string tags: minItems: 0 uniqueItems: true type: array additionalProperties: false items: type: string createdAt: pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.\d{3})?(Z|(\+|\-)[0-9]{2}:[0-9]{2}) description: ISO8601 formatted DateTime in UTC timezone, fx 2014-12-09T16:11:53Z with optionally .001 for milliseconds. type: string required: - id - outcome - externalId - status - comment - tags - createdAt context: type: object delegations: uniqueItems: true type: array items: required: - delegator - delegatee type: object properties: delegator: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string delegatee: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string delegatorType: type: string empty: type: boolean firstItem: required: - id - subjectId - type type: object properties: id: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string subjectId: pattern: ^.{1,255}$ type: string app: pattern: ^.{1,255}$ type: string createdBy: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string assigneeIds: minItems: 1 uniqueItems: true type: array additionalProperties: false items: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string companyId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string tags: minItems: 0 uniqueItems: true type: array additionalProperties: false items: type: string type: pattern: ^.{1,255}$ type: string modifiedBy: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string createdAt: pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.\d{3})?(Z|(\+|\-)[0-9]{2}:[0-9]{2}) description: ISO8601 formatted DateTime in UTC timezone, fx 2014-12-09T16:11:53Z with optionally .001 for milliseconds. type: string externalId: pattern: ^.{1,255}$ type: string modifiedAt: pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.\d{3})?(Z|(\+|\-)[0-9]{2}:[0-9]{2}) description: ISO8601 formatted DateTime in UTC timezone, fx 2014-12-09T16:11:53Z with optionally .001 for milliseconds. type: string assignmentLogs: minItems: 0 uniqueItems: true type: array items: type: object properties: id: type: integer outcome: type: string externalId: pattern: ^.{1,255}$ type: string status: type: string comment: type: string tags: minItems: 0 uniqueItems: true type: array additionalProperties: false items: type: string createdAt: pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.\d{3})?(Z|(\+|\-)[0-9]{2}:[0-9]{2}) description: ISO8601 formatted DateTime in UTC timezone, fx 2014-12-09T16:11:53Z with optionally .001 for milliseconds. type: string required: - id - outcome - externalId - status - comment - tags - createdAt context: type: object delegations: uniqueItems: true type: array items: required: - delegator - delegatee type: object properties: delegator: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string delegatee: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string delegatorType: type: string '204': description: Assigees are equal or no assignments are found. '401': description: '' '404': description: '' content: text/xml: schema: example: "\n ResourceNotFound\n Error: ResourceNotFound:\ \ The object did not exist\n fff29544-8039-499f-91c5-b3c9e4e3d8b1\n\ \n" '500': description: '  The default assignee is absent, invalid or inactive.
  It returns a response body with the ErrorCode "AbsentDefaultAssignee" or "InvalidDefaultAssignee" when the default assignee is invalid or inactive. ' content: application/json: example: ErrorCode: AbsentDefaultAssignee Message: Default assignee is absent. - Default assignee is absent. ErrorDetail: [] ValidationError: [] schema: type: string description: "Reassign the assignments of the first assignee id to the assignee with the second id.
The assignees\ \ can be users or teams.
The assignments will be updated if:
    \n
  • the current user is regular and the\ \ assignments are assigned to him or his teams
  • \n
  • the current user is queue manager and and the assignments\ \ have an assignee in the current branch or child branches
  • \n
  • the current user is in the same branch as the\ \ reassignee
  • \n
\n" operationId: put-rest-external-assignments-assignees-from_assigneeid-reassignees-to_assigneeid parameters: [] x-annotation-dx-category: assignments-reassign summary: reassign user assignments tags: - dx-category--assignments-reassign /rest/external/assignments/{id}/logs: parameters: - name: id in: path required: true schema: type: string description: An UUID representing the assignment id. get: responses: '200': description: 'Successfully returns the assignment by id and all its assignmentLogs.
ModifiedBy field shows the last user that has changed the status of an assignment. The user id is taken from the request context. ' content: application/json: example: id: a60b2008-8872-4620-8ed2-410ce5640fb9 subjectId: 360b2008-8872-4620-8ed2-410ce5640fb0 app: APVerification createdBy: 260b2008-8872-4620-8ed2-410ce5640fb3 assigneeIds: - 12067d82-1308-4fd1-9d0b-12eafe99c4cd companyId: 3fba6061-b51e-49bb-8c08-6cf6d28a304a tags: - A tag - Another tag type: A type createdAt: '2018-10-25T16:40:31.795+03:00' modifiedAt: '2018-10-25T16:40:31.795+03:00' outcome: An outcome status: CLOSED externalId: External-Id modifiedBy: 12067d82-1308-4fd1-9d0b-12eafe99c4cd comment: A comment assignmentLogs: - id: 9 outcome: An outcome status: CLOSED comment: A comment externalId: External-Id modifiedBy: 12067d82-1308-4fd1-9d0b-12eafe99c4cd assigneeIds: - 12067d82-1308-4fd1-9d0b-12eafe99c4cd tags: - A tag - Another tag createdAt: '2018-10-25T16:40:57.497+03:00' - id: 8 outcome: An outcome status: OPEN comment: A comment externalId: External-Id modifiedBy: 12067d82-1308-4fd1-9d0b-12eafe99c4cd assigneeIds: - 12067d82-1308-4fd1-9d0b-12eafe99c4cd createdAt: '2018-10-25T16:40:48.898+03:00' context: {} schema: title: Tradeshift Public API 1.0 - Assignment required: - id - subjectId - type type: object additionalProperties: false properties: id: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string subjectId: pattern: ^.{1,255}$ type: string app: pattern: ^.{1,255}$ type: string createdBy: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string assigneeIds: minItems: 1 uniqueItems: true type: array additionalProperties: false items: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string companyId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string tags: minItems: 0 uniqueItems: true type: array additionalProperties: false items: type: string type: pattern: ^.{1,255}$ type: string comment: type: string externalId: pattern: ^.{1,255}$ type: string outcome: type: string status: type: string modifiedBy: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string createdAt: pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.\d{3})?(Z|(\+|\-)[0-9]{2}:[0-9]{2}) description: ISO8601 formatted DateTime in UTC timezone, fx 2014-12-09T16:11:53Z with optionally .001 for milliseconds. type: string modifiedAt: pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.\d{3})?(Z|(\+|\-)[0-9]{2}:[0-9]{2}) description: ISO8601 formatted DateTime in UTC timezone, fx 2014-12-09T16:11:53Z with optionally .001 for milliseconds. type: string assignmentLogs: minItems: 0 uniqueItems: true type: array items: type: object properties: id: type: integer outcome: type: string externalId: pattern: ^.{1,255}$ type: string status: type: string comment: type: string tags: minItems: 0 uniqueItems: true type: array additionalProperties: false items: type: string createdAt: pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.\d{3})?(Z|(\+|\-)[0-9]{2}:[0-9]{2}) description: ISO8601 formatted DateTime in UTC timezone, fx 2014-12-09T16:11:53Z with optionally .001 for milliseconds. type: string required: - id - outcome - externalId - status - comment - tags - createdAt context: type: object delegations: uniqueItems: true type: array items: required: - delegator - delegatee type: object properties: delegator: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string delegatee: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string delegatorType: type: string '401': description: '' '403': description: Current user does not have access to assignment content: application/json: schema: type: string '404': description: '' content: text/xml: schema: example: "\n ResourceNotFound\n Error: ResourceNotFound:\ \ The object did not exist\n fff29544-8039-499f-91c5-b3c9e4e3d8b1\n\ \n" description: "Get an assignment by id with all its logs. The assignment will be visible if:
    \n
  • the current\ \ user is regular and the assignment is assigned to him or his teams
  • \n
  • the current user is queue manager\ \ and and the assignment has an assignee in the current branch or child branches
  • \n
\n" operationId: get-rest-external-assignments-id-logs parameters: [] x-annotation-dx-category: assignments-logs summary: get assignment logs tags: - dx-category--assignments-logs /rest/external/assignments/subjects/{subjectId}/logs: parameters: - name: subjectId in: path required: true schema: type: string description: A string representing a subject id ( usually a document UUID ). get: responses: '200': description: 'Successfully returns the assignments with all their logs.
ModifiedBy field shows the last user that has changed the status of an assignment. The user id is taken from the request context. ' content: application/json: example: total: 1 items: - id: a60b2008-8872-4620-8ed2-410ce5640fb9 subjectId: 360b2008-8872-4620-8ed2-410ce5640fb0 app: APVerification createdBy: 260b2008-8872-4620-8ed2-410ce5640fb3 assigneeIds: - 12067d82-1308-4fd1-9d0b-12eafe99c4cd companyId: 3fba6061-b51e-49bb-8c08-6cf6d28a304a tags: - A tag - Another tag type: A type createdAt: '2018-10-25T16:40:31.795+03:00' modifiedAt: '2018-10-25T16:40:31.795+03:00' externalId: External-Id outcome: An outcome status: CLOSED modifiedBy: 12067d82-1308-4fd1-9d0b-12eafe99c4cd comment: A comment assignmentLogs: - id: 9 outcome: An outcome status: CLOSED externalId: External-Id comment: A comment modifiedBy: 12067d82-1308-4fd1-9d0b-12eafe99c4cd assigneeIds: - 12067d82-1308-4fd1-9d0b-12eafe99c4cd tags: - A tag - Another tag createdAt: '2018-10-25T16:40:57.497+03:00' - id: 8 outcome: An outcome status: OPEN comment: A comment externalId: External-Id modifiedBy: 12067d82-1308-4fd1-9d0b-12eafe99c4cd assigneeIds: - 12067d82-1308-4fd1-9d0b-12eafe99c4cd createdAt: '2018-10-25T16:40:48.898+03:00' context: {} empty: false firstItem: id: a60b2008-8872-4620-8ed2-410ce5640fb9 subjectId: 360b2008-8872-4620-8ed2-410ce5640fb0 app: APVerification createdBy: 260b2008-8872-4620-8ed2-410ce5640fb3 assigneeIds: - 12067d82-1308-4fd1-9d0b-12eafe99c4cd companyId: 3fba6061-b51e-49bb-8c08-6cf6d28a304a tags: - A tag - Another tag type: A type createdAt: '2018-10-25T16:40:31.795+03:00' modifiedAt: '2018-10-25T16:40:31.795+03:00' outcome: An outcome status: CLOSED externalId: External-Id modifiedBy: 12067d82-1308-4fd1-9d0b-12eafe99c4cd comment: A comment assignmentLogs: - id: 9 outcome: An outcome status: CLOSED comment: A comment externalId: External-Id modifiedBy: 12067d82-1308-4fd1-9d0b-12eafe99c4cd assigneeIds: - 12067d82-1308-4fd1-9d0b-12eafe99c4cd createdAt: '2018-10-25T16:40:57.497+03:00' - id: 8 outcome: An outcome status: OPEN comment: A comment externalId: External-Id modifiedBy: 12067d82-1308-4fd1-9d0b-12eafe99c4cd assigneeIds: - 12067d82-1308-4fd1-9d0b-12eafe99c4cd createdAt: '2018-10-25T16:40:48.898+03:00' context: {} schema: title: Tradeshift Public API 1.0 - Assignments required: - total - items - empty type: object additionalProperties: false properties: total: minimum: 0 description: The number of assignments returned for the query type: integer items: minItems: 0 uniqueItems: true type: array additionalProperties: false items: required: - id - subjectId - type type: object properties: id: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string subjectId: pattern: ^.{1,255}$ type: string app: pattern: ^.{1,255}$ type: string createdBy: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string assigneeIds: minItems: 1 uniqueItems: true type: array additionalProperties: false items: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string companyId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string tags: minItems: 0 uniqueItems: true type: array additionalProperties: false items: type: string type: pattern: ^.{1,255}$ type: string modifiedBy: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string createdAt: pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.\d{3})?(Z|(\+|\-)[0-9]{2}:[0-9]{2}) description: ISO8601 formatted DateTime in UTC timezone, fx 2014-12-09T16:11:53Z with optionally .001 for milliseconds. type: string externalId: pattern: ^.{1,255}$ type: string modifiedAt: pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.\d{3})?(Z|(\+|\-)[0-9]{2}:[0-9]{2}) description: ISO8601 formatted DateTime in UTC timezone, fx 2014-12-09T16:11:53Z with optionally .001 for milliseconds. type: string assignmentLogs: minItems: 0 uniqueItems: true type: array items: type: object properties: id: type: integer outcome: type: string externalId: pattern: ^.{1,255}$ type: string status: type: string comment: type: string tags: minItems: 0 uniqueItems: true type: array additionalProperties: false items: type: string createdAt: pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.\d{3})?(Z|(\+|\-)[0-9]{2}:[0-9]{2}) description: ISO8601 formatted DateTime in UTC timezone, fx 2014-12-09T16:11:53Z with optionally .001 for milliseconds. type: string required: - id - outcome - externalId - status - comment - tags - createdAt context: type: object delegations: uniqueItems: true type: array items: required: - delegator - delegatee type: object properties: delegator: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string delegatee: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string delegatorType: type: string empty: type: boolean firstItem: required: - id - subjectId - type type: object properties: id: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string subjectId: pattern: ^.{1,255}$ type: string app: pattern: ^.{1,255}$ type: string createdBy: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string assigneeIds: minItems: 1 uniqueItems: true type: array additionalProperties: false items: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string companyId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string tags: minItems: 0 uniqueItems: true type: array additionalProperties: false items: type: string type: pattern: ^.{1,255}$ type: string modifiedBy: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string createdAt: pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.\d{3})?(Z|(\+|\-)[0-9]{2}:[0-9]{2}) description: ISO8601 formatted DateTime in UTC timezone, fx 2014-12-09T16:11:53Z with optionally .001 for milliseconds. type: string externalId: pattern: ^.{1,255}$ type: string modifiedAt: pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.\d{3})?(Z|(\+|\-)[0-9]{2}:[0-9]{2}) description: ISO8601 formatted DateTime in UTC timezone, fx 2014-12-09T16:11:53Z with optionally .001 for milliseconds. type: string assignmentLogs: minItems: 0 uniqueItems: true type: array items: type: object properties: id: type: integer outcome: type: string externalId: pattern: ^.{1,255}$ type: string status: type: string comment: type: string tags: minItems: 0 uniqueItems: true type: array additionalProperties: false items: type: string createdAt: pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.\d{3})?(Z|(\+|\-)[0-9]{2}:[0-9]{2}) description: ISO8601 formatted DateTime in UTC timezone, fx 2014-12-09T16:11:53Z with optionally .001 for milliseconds. type: string required: - id - outcome - externalId - status - comment - tags - createdAt context: type: object delegations: uniqueItems: true type: array items: required: - delegator - delegatee type: object properties: delegator: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string delegatee: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ description: String representation of an Universally unique identifier (UUID), version 5. See RFC 4122 type: string delegatorType: type: string '400': description: The page number is negative. content: application/json: example: ErrorCode: BadRequest Message: An invalid request was made - Parameter 'page' cannot be negative ErrorDetail: - Key: message Value: Parameter 'page' cannot be negative. ValidationError: [] schema: type: string '401': description: '' '404': description: '' content: text/xml: schema: example: "\n ResourceNotFound\n Error: ResourceNotFound:\ \ The object did not exist\n fff29544-8039-499f-91c5-b3c9e4e3d8b1\n\ \n" description: "Get a paged list of assignments with all their logs, filtered by subject id which usually is a document\ \ id.
The assignments will be visible if:
    \n
  • the current user is regular and the assignments are assigned\ \ to him or his teams
  • \n
  • the current user is queue manager and and the assignments have an assignee in the\ \ current branch or child branches
  • \n
\n" operationId: get-rest-external-assignments-subjects-subjectid-logs parameters: - name: page in: query description: Number representing the page to be return from the paginated result-set. schema: default: 0 type: integer - name: limit in: query description: The number of assignments displayed per page. schema: default: 20 type: integer x-annotation-dx-category: assignments-logs summary: get assignments by subjectid tags: - dx-category--assignments-logs /rest/external/suppliermanagement/documents: get: responses: '200': description: A (possibly empty) page of document meta-data. The total count may be an estimate. content: application/json: schema: type: object properties: items: type: array items: type: object properties: documentId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ example: da8fffc5-1738-49f4-b882-e0f7c19a4175 type: string accountingSystemId: type: string branchId: type: string documentProfileId: enum: - nes.p5.creditnote.ubl.2.1.dk - nes.p5.creditnote.ubl.2.1.gb - nes.p5.creditnote.ubl.2.1.ie - nes.p5.invoice.ubl.2.1.dk - nes.p5.invoice.ubl.2.1.gb - nes.p5.invoice.ubl.2.1.ie - tradeshift.creditnote.1.0 - tradeshift.creditnote.ubl.1.0 - tradeshift.invoice.1.0 - tradeshift.invoice.ubl.1.0 - tradeshift.remittanceadvice.1.0 - tradeshift.remittanceadvice.ubl.1.0 - tradeshift.status.1.0 - tradeshift.status.ubl.1.0 - ubl.creditnote.2.1.at - ubl.creditnote.2.1.ch - ubl.creditnote.2.1.de - ubl.creditnote.2.1.fi - ubl.creditnote.2.1.fr - ubl.creditnote.2.1.nl - ubl.creditnote.2.1.pl - ubl.creditnote.2.1.pr - ubl.creditnote.2.1.sg - ubl.creditnote.2.1.us - ubl.invoice.2.1.at - ubl.invoice.2.1.ch - ubl.invoice.2.1.cn - ubl.invoice.2.1.de - ubl.invoice.2.1.fi - ubl.invoice.2.1.fr - ubl.invoice.2.1.jp - ubl.invoice.2.1.nl - ubl.invoice.2.1.pl - ubl.invoice.2.1.pr - ubl.invoice.2.1.sg - ubl.invoice.2.1.us type: string externalDocumentId: type: string created: type: integer state: enum: - IMPORTED - DRAFT - DISPATCHING - DISPATCHED - FAILED type: string receivedDocumentId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ example: da8fffc5-1738-49f4-b882-e0f7c19a4175 type: string documentType: enum: - CREDITNOTE - INVOICE - REMITTANCEADVICE - STATUS type: string dispatched: type: integer documentReferences: type: array items: type: object properties: documentReference: type: string required: - documentReference sourceRef: type: string required: - documentId - accountingSystemId - branchId - documentProfileId - externalDocumentId - created - state - receivedDocumentId - documentType - dispatched - documentReferences - sourceRef total: type: integer required: - items - total description: 'Get an overview of all the documents the buyer has staged for its suppliers - optionally filtered to match the chosen parameters. Since there can be millions of documents, the results can be paginated. If the total number of rows matching the filter parameters is large, the total count in the result is an estimate and may deviate significantly from the actual value. ' operationId: get-rest-external-suppliermanagement-documents parameters: - name: accountingSystemId in: query description: Identifier of the supplier, which this document relates to, as it was used in the SMD. schema: type: string - name: branchId in: query description: 'Internal identifier of the buyer branch, which this document relates to, as it has been configured on the platform. ' schema: type: string - name: state in: query description: The state of the document in Buyer Sourced Documents schema: enum: - IMPORTED - DRAFT - DISPATCHING - DISPATCHED - FAILED type: string - name: documentType in: query description: The type of the document schema: enum: - CREDITNOTE - INVOICE - REMITTANCEADVICE - STATUS type: string - name: externalDocumentId in: query description: 'Unique identifier to the customer. It can be a customer-generated UUID, an ERP document ID, or an ID from a scanning solution. The external ID must also be present in the actual UBL of invoices and credit notes in the file ID reference. ' schema: type: string - name: page in: query description: The page of responses to get schema: default: 0 minimum: 0 type: integer - name: size in: query description: The size of the page schema: default: 100 minimum: 1 maximum: 100000 type: integer - name: orderBy in: query description: 'We currently only support ordering the documents by `created`, but that might change in the future. The ordering is specified after a colon `:`. By default, we order ascending (`asc`). ' schema: default: created pattern: ^(created)(\:(asc|desc))?$ type: string x-annotation-dx-category: bsd-documents summary: Search documents tags: - dx-category--bsd-documents post: responses: '201': description: '' '400': description: Document validation has failed. content: application/json: schema: type: object properties: errorCode: type: string message: type: string errorDetail: type: array items: type: object properties: key: type: string value: type: string required: - key - value validationError: type: array items: type: object properties: errorCode: type: string subErrorCode: type: string errorDetail: type: array items: type: object properties: key: type: string value: type: string required: - key - value index: type: integer message: type: string required: - errorCode - subErrorCode - errorDetail - index - message required: - errorCode - message - errorDetail - validationError '409': description: Document already exists. description: Stage a new historical document for being loaded into a suppliers history, when they onboard. operationId: post-rest-external-suppliermanagement-documents requestBody: content: application/xml: schema: type: string required: true parameters: - name: accountingSystemId in: query required: true description: Identifier of the supplier, which this document relates to, as it was used in the SMD. schema: type: string - name: branchId in: query required: true description: 'Internal identifier of the buyer branch, which this document relates to, as it has been configured on the platform. ' schema: type: string - name: documentProfileId in: query required: true description: The UBL document profile of the posted document. schema: enum: - nes.p5.creditnote.ubl.2.1.dk - nes.p5.creditnote.ubl.2.1.gb - nes.p5.creditnote.ubl.2.1.ie - nes.p5.invoice.ubl.2.1.dk - nes.p5.invoice.ubl.2.1.gb - nes.p5.invoice.ubl.2.1.ie - tradeshift.creditnote.1.0 - tradeshift.creditnote.ubl.1.0 - tradeshift.invoice.1.0 - tradeshift.invoice.ubl.1.0 - tradeshift.remittanceadvice.1.0 - tradeshift.remittanceadvice.ubl.1.0 - tradeshift.status.1.0 - tradeshift.status.ubl.1.0 - ubl.creditnote.2.1.at - ubl.creditnote.2.1.ch - ubl.creditnote.2.1.de - ubl.creditnote.2.1.fi - ubl.creditnote.2.1.fr - ubl.creditnote.2.1.nl - ubl.creditnote.2.1.pl - ubl.creditnote.2.1.pr - ubl.creditnote.2.1.sg - ubl.creditnote.2.1.us - ubl.invoice.2.1.at - ubl.invoice.2.1.ch - ubl.invoice.2.1.cn - ubl.invoice.2.1.de - ubl.invoice.2.1.fi - ubl.invoice.2.1.fr - ubl.invoice.2.1.jp - ubl.invoice.2.1.nl - ubl.invoice.2.1.pl - ubl.invoice.2.1.pr - ubl.invoice.2.1.sg - ubl.invoice.2.1.us type: string - name: externalDocumentId in: query required: true description: 'Identifier of the invoice the document relates to. I.e. if the document is an invoice, then it can be its own invoice number. ' schema: type: string - name: documentReferenceId in: query description: 'Identifier (externalDocumentId) of a document that current document refers to. I.e. if the document is an application response, then it can have a documentReferenceId that points to an invoice. Staging an application response without supplying a documentReferenceId is considered an error. ' schema: type: string - name: sourceRef in: query description: 'Customer reference to where the documents were sourced from. ' schema: type: string x-annotation-dx-category: bsd-documents summary: Load document tags: - dx-category--bsd-documents /rest/external/suppliermanagement/documents/{externalDocumentId}: parameters: - name: externalDocumentId in: path required: true schema: type: string description: 'The external identifier of the document. I.e. if the document is an invoice, then it can be its own invoice number. ' get: responses: '200': description: Document metadata succesfully retrieved. content: application/json: schema: type: object properties: documentId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ example: da8fffc5-1738-49f4-b882-e0f7c19a4175 type: string accountingSystemId: type: string branchId: type: string documentProfileId: enum: - nes.p5.creditnote.ubl.2.1.dk - nes.p5.creditnote.ubl.2.1.gb - nes.p5.creditnote.ubl.2.1.ie - nes.p5.invoice.ubl.2.1.dk - nes.p5.invoice.ubl.2.1.gb - nes.p5.invoice.ubl.2.1.ie - tradeshift.creditnote.1.0 - tradeshift.creditnote.ubl.1.0 - tradeshift.invoice.1.0 - tradeshift.invoice.ubl.1.0 - tradeshift.remittanceadvice.1.0 - tradeshift.remittanceadvice.ubl.1.0 - tradeshift.status.1.0 - tradeshift.status.ubl.1.0 - ubl.creditnote.2.1.at - ubl.creditnote.2.1.ch - ubl.creditnote.2.1.de - ubl.creditnote.2.1.fi - ubl.creditnote.2.1.fr - ubl.creditnote.2.1.nl - ubl.creditnote.2.1.pl - ubl.creditnote.2.1.pr - ubl.creditnote.2.1.sg - ubl.creditnote.2.1.us - ubl.invoice.2.1.at - ubl.invoice.2.1.ch - ubl.invoice.2.1.cn - ubl.invoice.2.1.de - ubl.invoice.2.1.fi - ubl.invoice.2.1.fr - ubl.invoice.2.1.jp - ubl.invoice.2.1.nl - ubl.invoice.2.1.pl - ubl.invoice.2.1.pr - ubl.invoice.2.1.sg - ubl.invoice.2.1.us type: string externalDocumentId: type: string created: type: integer state: enum: - IMPORTED - DRAFT - DISPATCHING - DISPATCHED - FAILED type: string receivedDocumentId: pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ example: da8fffc5-1738-49f4-b882-e0f7c19a4175 type: string documentType: enum: - CREDITNOTE - INVOICE - REMITTANCEADVICE - STATUS type: string dispatched: type: integer documentReferences: type: array items: type: object properties: documentReference: type: string required: - documentReference sourceRef: type: string required: - documentId - accountingSystemId - branchId - documentProfileId - externalDocumentId - created - state - receivedDocumentId - documentType - dispatched - documentReferences - sourceRef '404': description: Document does not exist. description: 'Get one document''s metadata ' operationId: get-rest-external-suppliermanagement-documents-externaldocumentid x-annotation-dx-category: bsd-documents summary: Get Document Metadata tags: - dx-category--bsd-documents put: responses: '201': description: '' '400': description: Document validation has failed. content: application/json: schema: type: object properties: errorCode: type: string message: type: string errorDetail: type: array items: type: object properties: key: type: string value: type: string required: - key - value validationError: type: array items: type: object properties: errorCode: type: string subErrorCode: type: string errorDetail: type: array items: type: object properties: key: type: string value: type: string required: - key - value index: type: integer message: type: string required: - errorCode - subErrorCode - errorDetail - index - message required: - errorCode - message - errorDetail - validationError description: 'Stage a new historical document for being loaded into a suppliers history, when they onboard. Already existing invoice or credit note with the same externalDocumentId and state IMPORTED will be archived. ' operationId: put-rest-external-suppliermanagement-documents-externaldocumentid requestBody: content: application/xml: schema: type: string required: true parameters: - name: accountingSystemId in: query required: true description: Identifier of the supplier, which this document relates to, as it was used in the SMD. schema: type: string - name: branchId in: query required: true description: 'Internal identifier of the buyer branch, which this document relates to, as it has been configured on the platform. ' schema: type: string - name: documentProfileId in: query required: true description: The UBL document profile of the posted document. schema: enum: - nes.p5.creditnote.ubl.2.1.dk - nes.p5.creditnote.ubl.2.1.gb - nes.p5.creditnote.ubl.2.1.ie - nes.p5.invoice.ubl.2.1.dk - nes.p5.invoice.ubl.2.1.gb - nes.p5.invoice.ubl.2.1.ie - tradeshift.creditnote.1.0 - tradeshift.creditnote.ubl.1.0 - tradeshift.invoice.1.0 - tradeshift.invoice.ubl.1.0 - tradeshift.remittanceadvice.1.0 - tradeshift.remittanceadvice.ubl.1.0 - tradeshift.status.1.0 - tradeshift.status.ubl.1.0 - ubl.creditnote.2.1.at - ubl.creditnote.2.1.ch - ubl.creditnote.2.1.de - ubl.creditnote.2.1.fi - ubl.creditnote.2.1.fr - ubl.creditnote.2.1.nl - ubl.creditnote.2.1.pl - ubl.creditnote.2.1.pr - ubl.creditnote.2.1.sg - ubl.creditnote.2.1.us - ubl.invoice.2.1.at - ubl.invoice.2.1.ch - ubl.invoice.2.1.cn - ubl.invoice.2.1.de - ubl.invoice.2.1.fi - ubl.invoice.2.1.fr - ubl.invoice.2.1.jp - ubl.invoice.2.1.nl - ubl.invoice.2.1.pl - ubl.invoice.2.1.pr - ubl.invoice.2.1.sg - ubl.invoice.2.1.us type: string - name: documentReferenceId in: query description: 'Identifier (externalDocumentId) of a document that current document refers to. I.e. if the document is an application response, then it can have a documentReferenceId that points to an invoice. Staging an application response without supplying a documentReferenceId is considered an error. ' schema: type: string - name: sourceRef in: query description: 'Customer reference to where the documents were sourced from. ' schema: type: string x-annotation-dx-category: bsd-documents summary: Load/Override Document tags: - dx-category--bsd-documents delete: responses: '204': description: Document was permanently archived. '400': description: Document was not successfully archived. description: 'Permanently archives the document. ' operationId: delete-rest-external-suppliermanagement-documents-externaldocumentid x-annotation-dx-category: bsd-documents summary: Archive Document tags: - dx-category--bsd-documents /rest/external/suppliermanagement/documents/{externalDocumentId}/redispatch: parameters: - name: externalDocumentId in: path required: true schema: type: string description: 'The external identifier of the document. I.e. if the document is an invoice, then it can be its own invoice number. ' post: responses: '204': description: Document state successfully set to IMPORTED '400': description: Document is either not in state FAILED or does not exist description: 'Retry the dispatch of a failed document by setting its state to IMPORTED. The document will the asynchronously be picked up for dispatch again. ' operationId: post-rest-external-suppliermanagement-documents-externaldocumentid-redispatch x-annotation-dx-category: bsd-documents summary: Redispatch Document tags: - dx-category--bsd-documents /rest/external/suppliermanagement/documents/{externalDocumentId}/content: parameters: - name: externalDocumentId in: path required: true schema: type: string description: 'The external identifier of the document. I.e. if the document is an invoice, then it can be its own invoice number. ' get: responses: '200': description: Document content successfully retrieved. '400': description: Document does not exist. description: 'Retrieve document content. ' operationId: get-rest-external-suppliermanagement-documents-externaldocumentid-content x-annotation-dx-category: bsd-documents summary: Get Document Content tags: - dx-category--bsd-documents /rest/external/suppliermanagement/documents/{externalDocumentId}/states: parameters: - name: externalDocumentId in: path required: true schema: type: string description: 'The external identifier of the document. I.e. if the document is an invoice, then it can be its own invoice number. ' get: responses: '200': description: Document state changes successfully retrieved. content: application/json: schema: type: object properties: items: type: array items: type: object properties: state: enum: - IMPORTED - DRAFT - DISPATCHING - DISPATCHED - FAILED type: string created: type: string format: date-time error: type: object properties: errorCode: type: string message: type: string errorDetail: type: array items: type: object properties: key: type: string value: type: string required: - key - value validationError: type: array items: type: object properties: errorCode: type: string subErrorCode: type: string errorDetail: type: array items: type: object properties: key: type: string value: type: string required: - key - value index: type: integer message: type: string required: - errorCode - subErrorCode - errorDetail - index - message required: - errorCode - message - errorDetail - validationError required: - state - created - error required: - items '400': description: Document does not exist. description: 'Retrieve information about document states changes. ' operationId: get-rest-external-suppliermanagement-documents-externaldocumentid-states x-annotation-dx-category: bsd-documents summary: Get Document State Changes tags: - dx-category--bsd-documents /rest/external/suppliermanagement/documents/{externalDocumentId}/references: parameters: - name: externalDocumentId in: path required: true schema: type: string description: 'The external identifier of the document. I.e. if the document is an invoice, then it can be its own invoice number. ' get: responses: '200': description: Document References successfully retrieved. '404': description: Document does not exist. description: 'Retrieve List Of Document References ' operationId: get-rest-external-suppliermanagement-documents-externaldocumentid-references x-annotation-dx-category: bsd-documents summary: Get Document References tags: - dx-category--bsd-documents /rest/external/document-validation/validation/validate-document: put: tags: - Document Validation - dx-category--document-validation-validate_document summary: Validate document description: Validate a document by testing matching validators, optionally specifying a category to filter the validator groups that are applied. Only the validator groups for the provided document type are run. operationId: put-rest-external-document-validation-validation-validate-document parameters: - name: senderTenantId in: query description: UUID of the user company (tenant) that is sending the document. This can be different than the 'tenantId' header value, for example when checking on behalf of a branch. The sender tenant id is used to obtain the connection properties of the connection between the receiver and sender, or other sender related settings. required: true schema: type: string format: uuid - name: receiverTenantId in: query description: UUID of the company (tenant) that will receive the document. The receiver tenant is used to check the validators of the receiver when the receiver company has configured validation for other companies sending documents (for example 'sellers' sending invoices to a 'buyer'), to obtain the connection properties of the connection between the receiver and sender, to obtain the country compliance validator groups of the receiver if enabled, or other receiver related settings. required: true schema: type: string format: uuid - name: documentId in: query description: Optional document id to validate, if provided the document content body is ignored. required: false schema: type: string format: uuid requestBody: content: application/xml: schema: type: array description: Optional document content in UBL XML format that will be tested against the validators. Only checked if documentId parameter is not provided. If documentId parameter is provided, this is ignored. items: type: string format: byte responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ValidationResult' /rest/external/document-validation/validation/groups/{groupId}: get: tags: - Document Validation - dx-category--document-validation-validators_find summary: Gets a validator group description: Gets a validator group definition operationId: get-rest-external-document-validation-validation-groups-groupid parameters: - name: groupId in: path description: UUID of the validator group to get required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GroupDef' put: tags: - Document Validation - dx-category--document-validation-validators_save summary: Save validator group description: Creates or updates a validator group definition operationId: put-rest-external-document-validation-validation-groups-groupid parameters: - name: groupId in: path description: UUID of the validator group to create or update required: true schema: type: string format: uuid requestBody: description: Validator group definition in JSON format content: application/json: schema: type: object example: tenantId: cb555bf8-0949-4857-acf3-03aef59c00ec documentType: Invoice countryCompliance: countryCode: RO connectionProperty: key: SupplierCategory value: DO validators: - type: pattern dispatchRestriction: Hard context: /Invoice/cac:InvoiceLine field: cac:OrderLineReference/cac:OrderReference/cbc:ID pattern: ^\d+$ multiValueMatchBehavior: AnyMatch message: ID must contain only numbers - type: minLength dispatchRestriction: Soft field: /Invoice/cbc:ID minLength: 5 message: ID must have minimum 5 characters required: true responses: '200': description: Successfully updated validator group definition '201': description: Created a new validator group definition delete: tags: - Document Validation - dx-category--document-validation-validators_delete summary: Delete validator group description: Permanently deletes a validator group definition operationId: delete-rest-external-document-validation-validation-groups-groupid parameters: - name: groupId in: path description: UUID of the validator group to delete required: true schema: type: string format: uuid responses: '204': description: No Content /rest/external/document-validation/validation/groups/{groupId}/history: get: tags: - Document Validation - dx-category--document-validation-validators_history summary: Get change history description: Gets the validator group change history, including current definition. operationId: get-rest-external-document-validation-validation-groups-groupid-history parameters: - name: groupId in: path description: UUID of the validator group to get required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/GroupDefHistory' /rest/external/document-validation/validation/groups: get: tags: - Document Validation - dx-category--document-validation-validators_find_all summary: List Validator Groups description: List validator groups for the tenant, optionally filtering by document type or connection property operationId: get-rest-external-document-validation-validation-groups parameters: - name: senderTenantId in: query description: UUID of the user company (tenant) that is sending the document. This can be different than the 'tenantId' header value, for example when checking on behalf of a branch. The sender tenant id is used to obtain the connection properties of the connection between the receiver and sender, or other sender related settings. required: false schema: type: string format: uuid - name: receiverTenantId in: query description: UUID of the company (tenant) that will receive the document. The receiver tenant is used to check the validators of the receiver when the receiver company has configured validation for other companies sending documents (for example 'sellers' sending invoices to a 'buyer'), to obtain the connection properties of the connection between the receiver and sender, to obtain the country compliance validator groups of the receiver if enabled, or other receiver related settings. required: true schema: type: string format: uuid - name: documentType in: query description: Optional document type filter. If not provided, validators with any document type will be returned required: false schema: type: string enum: - ApplicationResponse - AttachedDocument - AwardedNotification - BillOfLading - BusinessCard - CallForTenders - Catalogue - CatalogueDeletion - CatalogueItemSpecificationUpdate - CataloguePricingUpdate - CatalogueRequest - CertificateOfOrigin - ContractAwardNotice - ContractNotice - CreditNote - DebitNote - DespatchAdvice - DigitalAgreement - DigitalCapability - DocumentStatus - DocumentStatusRequest - Enquiry - EnquiryResponse - ExceptionCriteria - ExceptionNotification - ExpressionOfInterestRequest - ExpressionOfInterestResponse - Forecast - ForecastRevision - ForwardingInstructions - FreightInvoice - FulfilmentCancellation - GoodsItemItinerary - GuaranteeCertificate - InstructionForReturns - InventoryReport - Invoice - ItemInformationRequest - Order - OrderCancellation - OrderChange - OrderResponse - OrderResponseSimple - PackingList - PriorInformationNotice - ProductActivity - QualificationApplicationRequest - QualificationApplicationResponse - Quotation - ReceiptAdvice - Reminder - RemittanceAdvice - RequestForQuotation - RetailEvent - SelfBilledCreditNote - SelfBilledInvoice - Statement - StockAvailabilityReport - Tender - TenderContract - TenderReceipt - TenderStatus - TenderStatusRequest - TenderWithdrawal - TendererQualification - TendererQualificationResponse - TradeItemLocationProfile - TransportExecutionPlan - TransportExecutionPlanRequest - TransportProgressStatus - TransportProgressStatusRequest - TransportServiceDescription - TransportServiceDescriptionRequest - TransportationStatus - TransportationStatusRequest - UnawardedNotification - UnsubscribeFromProcedureRequest - UnsubscribeFromProcedureResponse - UtilityStatement - Waybill - WeightStatement - name: countryComplianceCode in: query description: Optional country code used to list by specific country compliance rules. If not provided, it is determined from the country of the receiver (receiverTenantId) if enabled on receiver.To list all country compliance validator groups use the special value 'ALL'.To list all the groups of the receiver but without the country compliance ones, even if defined and enabled, use the special value 'NONE'. required: false schema: type: object properties: countryCode: type: string responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/GroupDefWithId' servers: - url: https://api.tradeshift.com/tradeshift tags: - name: dx-category--document-coding--coding-completeness description: Document coding entries - name: dx-category--document-coding--coding-validation-v1 description: Document coding entries - name: dx-category--document-coding--coding-validation description: Document coding entries - name: dx-category--document-extensibility description: Document extensibility points - name: dx-category--overview-introduction description: This is the developer documentation for the Tradeshift API. The Tradeshift API is REST based and allows integrators to handle a number of resources for tasks such as managing business documents, retrieving sender and receiver information, and dispatching documents to receivers. - name: dx-category--overview-make_a_request description: 'The easiest way to get started working with the Tradeshift API is to create OAuth credentials by activating the [API Access to Own Account](https://sandbox.tradeshift.com/#/apps/Tradeshift.AppStore/apps/Tradeshift.APIAccessToOwnAccount) app. The app will display your credentials as four values: a consumer key, a consumer secret, a token, and a token secret. Copy these to a secure location so you can access them later. We recommend using an app like [Postman](https://www.getpostman.com/apps) to easily explore the API. The OAuth 1.0 credentails you just created can then be added to Postman as [explained in their docs](https://www.getpostman.com/docs/postman/sending_api_requests/authorization#oauth-10). To summarize: - Select "OAuth 1.0" from the "Type" dropdown on the "Authorization" tab - Select "Request Headers" from the "Add authorization data to" dropdown - Enter your consumer key, consumer secret, access token and token secret - Select "HMAC-SHA1" from the "Signature Method" dropdown - Leave the other fields blank - Switch to the "Headers" tab and add the "Accept: application/json" To confirm you have it setup correctly, make a request to `GET https://api-sandbox.tradeshift.com/tradeshift/rest/external/account/info` and you should get back information about your company. ### Authentication in Apps For your app to make API calls as a user, you''ll use the 3-legged OAuth 2 flow to authenticate. Read about [OAuth2 and how to set it up](/docs/guides/oauth).' - name: dx-category--overview-building_blocks description: 'Tradeshift apps support collaboration and document exchange among networked companies and individual users. Accounts (companies and users), network, and documents are the building blocks of the Tradeshift app platform. ### Account/Company An account represents a company that can exchange business documents with other companies. Accounts are also called companies or company accounts to be differentiated from individual users. An account can be characterized by its account info and branch structure. An account can have multiple users. #### Branches Tradeshift supports a 2-level hierarchy that allows an account to have child accounts. When accounts are linked according to some master-children relationship, these linked accounts are also called branches. #### Master branch/Master account An administrative account used to organize child accounts belonging to the same organization, e.g., ABC Global Enterprise master branch. Any account technically can be a master branch as long as it is not already another account''s child branch. #### Child branch/Child account An account that belongs to a master branch, e.g., ABC Global Enterprise USA Division child branch. Any account technically can be a child branch as long as it is not already another account''s master branch. #### Account info This would typically include attributes such as name, address, country, tax IDs, etc. #### Users Users must be created within a company account. When a user logs in, the user is inside a company account and can access documents and information in that account. If created within a master branch, the user can switch between child branches that belong to the same master branch. If created within a child branch, the user can not switch to other branches. #### User info Meant to include name, email, spend limits, reporting relationship, etc. ### Network The collection of accounts connected to each other in a multiple-to-multiple relationship. All accounts on Tradeshift collectively form the Tradeshift network. Meanwhile, each account can invite its business partners to join its own network (similar to how social network websites work). #### Connections A link between two accounts. A connection needs to be active for the two connected accounts to exchange documents. To establish a connection, an account must send a connection request to another account, and the other account must accept the connection request. #### External connection This is also colloquially known as _manual connection_ - a placeholder account you created for the business partner you want to connect with. You filled out the account''s profile including name, email address, etc. The business partner has not accepted the connection request, or activated its account yet. You may still update the account''s information such as name and email. Generally, an external connection is temporary. Once the business partner activates the placeholder account, the connection turns into a Tradeshift connection. You will no longer be able to change the account profile information. #### Tradeshift connection This is also colloquially known as _active connection_ - the company invited to connect has accepted invitation. The invited company is ready to send and receive documents. The invited company owns its account info such as name and email. You may not change their account info. #### Connection property Self-defined properties to characterize a connection. For example, a buyer company may store its internal vendor ID as a connection property on each supplier connection. Symmetrically, the supplier company on the other side may store its internal customer ID as a connection property. #### Groups An account’s own created groups to categorize connections. Naming and definition is determined by the account. E.g., a buyer company may have suppliers in two groups: suppliers required to have purchase orders, and suppliers not required to have purchase orders. ### Documents/ Document files Business documents exchanged between companies in such business transactions as tendering, quotation, buying, shipping, invoicing, and so on. #### UBL A library of standard electronic XML business documents such as purchase orders and invoices. This is the preferred standard document format used on Tradeshift. The standards are developed by OASIS (Organization for the Advancement of Structured Information Standards). For more information, see . #### TSUBL TSUBL includes a subset of documents under UBL 2.0 standards. [Download](http://tradeshift.com/wp-content/uploads/TSUBL_20190213.zip) the TSUBL specifications and sample files, or go to and click "UBL" in the "Supported formats" section. #### Tenant Isolation No direct sharing of data between tenants (accounts). There is storage associated with each account. When sending a document, a copy of the sender''s document is created and rendered in the receiver''s account. Therefore, there is no direct sharing of data between tenants. Depending on the context, actions on one copy of the document may or may not affect the other copy. For example: - A supplier (sender) deleting a sent invoice will make that invoice disappear in the supplier''s account. However, the buyer (receiver) can still see that invoice in the buyer''s account because the buyer''s copy of that invoice is not affected. In this case, action on the sender''s copy of the invoice does not affect the receiver''s copy. - A buyer (receiver) updates the status of a received invoice to "Accepted". This will trigger a status message to the supplier (sender) account to update the supplier''s copy of the invoice to "Accepted". In this case, action on receiver''s copy of the invoice automatically affects the sender''s copy.' - name: dx-category--overview-key_concepts description: '- REST API: the Tradeshift API is based on HTTPS, REST, and OAuth. It allows developers to use HTTP PUT/POST/GET/DELETE to access "resources" such as dispatching documents, creating users, and connecting with other accounts. It is used by both Tradeshift and third-party developers. - OAuth: Tradeshift supports OAuth1 (deprecated, backward compatibility only) and OAuth2 for developers to obtain permissions to access user resources. For more on OAuth, see . - UUID: universally unique identifier that is used to identify entities on Tradeshift. According to Wikipedia, UUID is an identifier standard used in software construction. Tradeshift uses a canonical format using hexadecimal text with inserted hyphen characters, e.g., de305d54-75b4-431b-adb2-eb6b9e546014. There are Javascript and free websites that can generate UUIDs. For example, and - Standards: Tradeshift follows standards where it is applicable for codes such as country code, currency code, tax code, etc. Developers need to use the same codes when using Tradeshift documents or parameters. Here is a list of standards (not exhaustive) that Tradeshift follows. For the complete set of standards and values, see the [TSUBL specifications](http://tradeshift.com/wp-content/uploads/TSUBL_20190213.zip), or go to . - Currency code: ISO 4217. Example: USD for US dollars. - Country code: ISO 3166. Example: US for United States. - Tax category: UN/ECE 5305. Example: Z for zero rated goods - Tax scheme: UN/ECE 5153 Subset. Example: STT for state/provincial sales tax. - Units of measure: UN/ECE rec 20. Example: EA for each.' - name: Document Validation description: Manages document validators - name: Company Configuration description: Manages document validation related company configuration - name: Document Clearance and Validation Migration description: Manages migration to Caspian related operations - name: Document Validation and Clearance description: Manages validation and clearance common related operations - name: Clearance Administration description: Manages clearance administrative related operations - name: Document description: Manages document related operations - name: Document Clearance description: Manages clearance related operations