openapi: 3.1.0 info: title: Stark Bank API version: v2 description: | This is our second API version. It is another small step towards launching the product we want to create for you, but it's a giant leap for the brazilian financial market. We created the first banking API in Brazil and we are proud of it. Our API is RESTFul. This means we use predictable, resource-oriented URLs to do banking operations. The API itself speaks exclusively in JSON, including errors, but our SDK libraries convert responses to appropriate language-specific objects. Want to check our OpenAPI 3.1 specification? You can download our yaml file right here. You can also try our Postman collection. Download it here. contact: name: Stark Bank Developers email: 'help@starkbank.com' url: https://starkbank.com license: name: Stark Bank License externalDocs: url: https://docs.starkbank.com/api description: Stark Bank API documentation servers: - url: https://api.starkbank.com description: Production - url: https://sandbox.api.starkbank.com description: Sandbox paths: /v2/workspace: post: summary: Create a Workspace operationId: create-workspace tags: - Workspace description: | Here you can create a brand new Workspace. Note: Only Organization credentials are able to create Workspaces. requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'This string will show up to identify your Workspace when you log into it at our Web Banking. Example: ''My Workspace''' username: type: string description: 'This string uniquely identifies the Workspace in our entire database. It is also part of the Workspace Web Banking URL and must, therefore, be URL-safe. For example, if a Workspace in Sandbox has the ''my-workspace'' username, its URL would be "https://my-workspace.sandbox.starkbank.com"' allowedTaxIds: type: array items: type: string description: | List of tax IDs that will be allowed to send Deposits to this Workspace. If empty, all are allowed. Example: ["012.345.678-90", "20.018.183/0001-80"] required: - name - username responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' get: summary: List Workspaces operationId: list-workspace tags: - Workspace description: 'Get a list of Workspaces your credentials have access to in chunks of at most 100. If you need smaller chunks, use the limit parameter.' parameters: - name: cursor in: query description: String used to get the next batch of results. Our SDKs handle this for you. required: false schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string - name: ids in: query description: List of IDs of the Workspaces to be retrieved. required: false schema: type: array items: type: string - name: limit in: query description: Number of results per cursor. Max = 100. required: false schema: type: integer minimum: 1 maximum: 100 - name: username in: query description: Workspace username to be searched. required: false schema: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/workspace/{id}': get: summary: Get a Workspace operationId: get-workspace-byId tags: - Workspace description: Get a single workspace by its id. parameters: - name: id in: path description: Id of the workspace entity. required: true schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' patch: summary: Update a Workspace operationId: update-workspace-byId tags: - Workspace description: Update a workspace by passing its id and the fields you want to update. requestBody: required: true content: application/json: schema: type: object properties: allowedTaxIds: type: array items: type: string description: | List of tax IDs that will be allowed to send Deposits to this Workspace. If empty, all are allowed. Example: ["012.345.678-90", "20.018.183/0001-80"] name: type: string description: 'Full name that identifies the Workspace. This name will appear when people access the Workspace on our platform, for example. Example: ''Stark Bank Workspace''' picture: type: string description: 'Binary buffer of the picture. Example: open("path/to/picture.png", "rb").read()' pictureType: type: string description: 'Picture mime type. This parameter will be required if the picture parameter is informed. Example: ''image/png'' or ''image/jpeg''' status: type: string description: 'You can block or activate a specific Workspace. Example: ''active'' or ''blocked''' username: type: string description: 'Simplified name to define the workspace URL. This name must be unique across all Stark Bank Workspaces. Example: ''starkbank-workspace''' required: - pictureType parameters: - name: id in: path description: Id of the workspace. required: true schema: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/balance: get: summary: Get the Balance operationId: list-balance tags: - Balance description: Get the current balance in your workspace. responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/transaction: get: summary: List Transactions operationId: list-transaction tags: - Transaction description: | Your bank statement is the list of all transactions registered in your private ledger. We return it paged. parameters: - name: after in: query description: Filter entities created after this date. required: false schema: type: string format: date - name: before in: query description: Filter entities created before this date. required: false schema: type: string format: date - name: cursor in: query description: String used to get the next batch of results. Our SDKs handle this for you. required: false schema: type: string - name: externalIds in: query description: Filter transactions that carry the specified external IDs. required: false schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string - name: ids in: query description: List of strings to get specific entities by ids. required: false schema: type: array items: type: string - name: limit in: query description: Number of results per cursor. Max = 100. required: false schema: type: integer minimum: 1 maximum: 100 - name: tags in: query description: Filter entities that contain the specified tags. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/transaction/{id}': get: summary: Get a Transaction operationId: get-transaction-byId tags: - Transaction description: Get a single transaction by its id. parameters: - name: id in: path description: Id of the transaction entity. required: true schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/invoice: post: summary: Create Invoices operationId: create-invoice tags: - Invoice description: | Use this route to create up to 100 new invoices at a time. NOTE:If you create an invoice with amount zero, we will accept any amount paid by your customer. Otherwise we will only accept the amount specified in the invoice. requestBody: required: true content: application/json: schema: type: object properties: amount: type: integer description: 'A non-negative integer that represents the amount in cents to be invoiced. When the invoice is paid, this parameter is updated with the amount actually paid. Example: 100 (R$1.00)' name: type: string description: 'Payer full name. Example: "Anthony Edward Stark"' taxId: type: string description: 'Payer CPF (11 digits formatted or unformatted) or CNPJ (14 digits formatted or unformatted). Example: 012.345.678-90' descriptions: type: array items: type: object description: | List of up to 15 descriptions containing information to help the customer understand why he is being charged. For each description, you can add a title key and a description value. Example: [{"key": "Product A", "value": "R$10,00"}, {"key": "Taxes", "value": "R$100,00"}] discounts: type: array items: type: object description: | List of up to 5 discounts specifying the discount percentage and the limit date up to when the discount is valid. Example: [{"percentage": 5, "due": "2020-11-25T17:59:26.000000+00:00"}, {"percentage": 10.5, "due": "2020-10-25T17:59:26.000000+00:00"}] due: type: string format: date-time description: 'Requested payment due datetime in ISO format. Example: "2020-11-25T17:59:26.000000+00:00". Default value: 2 days after creation.' expiration: type: integer description: 'Time in seconds counted from the due datetime until the invoice expires. After expiration, the invoice cannot be paid anymore. Default value: 5097600 (59 days)' fine: type: number format: float description: 'Percentage of the invoice amount charged if customer pays after the due datetime. Default value = 2.00 (2%)' interest: type: number format: float description: 'Monthly interest, in percentage, charged if customer pays after the due datetime. Default value = 1.00 (1%)' rules: type: array items: type: string description: | List of rules for modifying invoice behavior. Example: [{"key": "allowedTaxIds", "value": ["012.345.678-90", "45.059.493/0001-73"]}] splits: type: array items: type: object description: | Array of Split objects to indicate payment receivers. Example: [{"receiverId": "5742447426535424", "amount": 100}, {"receiverId": "5743243941642240", "amount": 200}] tags: type: array items: type: string description: Array of strings to tag the entity for future queries. All tags will be converted to lowercase. required: - amount - name - taxId responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' get: summary: List Invoices operationId: list-invoice tags: - Invoice description: 'Get a list of invoices in chunks of at most 100. If you need smaller chunks, use the limit parameter.' parameters: - name: after in: query description: Filter entities created after this date. required: false schema: type: string format: date - name: before in: query description: Filter entities created before this date. required: false schema: type: string format: date - name: cursor in: query description: String used to get the next batch of results. Our SDKs handle this for you. required: false schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string - name: ids in: query description: List of strings to get specific entities by ids. required: false schema: type: array items: type: string - name: limit in: query description: Number of results per cursor. Max = 100. required: false schema: type: integer minimum: 1 maximum: 100 - name: status in: query description: Filter invoices by the specified status. required: false schema: type: string - name: tags in: query description: Filter entities that contain the specified tags. required: false schema: type: array items: type: string - name: transactionIds in: query description: List of transaction IDs linked to the desired invoices. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/invoice/{id}': get: summary: Get an Invoice operationId: get-invoice-byId tags: - Invoice description: Get a single invoice by its id. parameters: - name: id in: path description: Id of the invoice entity required: true schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' patch: summary: Update an Invoice operationId: update-invoice-byId tags: - Invoice description: 'Update a single invoice. If the invoice has not yet been paid, you can adjust parameters such as the requested amount, the due datetime and the expiration. If the invoice has already been paid, only the amount can be decreased, which will result in a payment reversal.' requestBody: required: true content: application/json: schema: type: object properties: amount: type: integer description: 'New amount that should be charged on payment. If the invoice has already been paid, it is the final amount after reversal. Example: 200 (R$2.00).' due: type: string format: date-time description: 'New due datetime. Example: ''2020-11-26T17:59:26.000000+00:00''.' expiration: type: integer description: 'New expiration. Example: 3600 (1 hour).' status: type: string description: 'This can be used to cancel the invoice by passing ''canceled'' as the status patch.' parameters: - name: id in: path description: Id of the invoice entity. required: true schema: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/invoice/{id}/qrcode': get: summary: Get an Invoice QR Code operationId: get-invoice-byId-qrcode tags: - Invoice description: 'Get the invoice QR Code png file. Similarly to the Boleto PDF, we create a QR Code image file with the invoice data so that your customer can pay it through Pix.' parameters: - name: id in: path description: Id of the invoice entity. required: true schema: type: string - name: size in: query description: 'Number of pixels in each ''box'' of the QR code. Minimum = 1 and maximum = 50. Default value = 7.' required: false schema: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/invoice/{id}/pdf': get: summary: Get an Invoice PDF operationId: get-invoice-byId-pdf tags: - Invoice description: 'Get the invoice PDF file. Similarly to the Boleto PDF, we create a PDF file with the invoice data and the QR Code so that your customer can pay it through Pix. The same PDF can also be accessed by the public "pdf" parameter returned in the Invoice JSON. This link is the one you should send to your customers.' parameters: - name: id in: path description: Id of the invoice entity. required: true schema: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/invoice/log: get: summary: List Invoice Logs operationId: list-invoice-log tags: - Invoice description: Get a paged list of invoice logs. A log tracks a change in the invoice entity according to its life cycle. parameters: - name: after in: query description: Filter entities created after this date. required: false schema: type: string format: date - name: before in: query description: Filter entities created before this date. required: false schema: type: string format: date - name: cursor in: query description: String used to get the next batch of results. Our SDKs handle this for you. required: false schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string - name: invoiceIds in: query description: Array of invoice ids that are linked to the logs you desire. required: false schema: type: array items: type: string - name: limit in: query description: Number of results per cursor. Max = 100. required: false schema: type: integer minimum: 1 maximum: 100 - name: types in: query description: Filters logs by log types. required: false schema: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/invoice/log/{id}': get: summary: Get an Invoice Log operationId: get-invoice-log-byId tags: - Invoice description: Get a single invoice Log by its id. parameters: - name: id in: path description: Id of the log entity. required: true schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/invoice/log/{id}/pdf': get: summary: Get a reversed Invoice Log PDF operationId: get-invoice-log-byId-pdf tags: - Invoice description: 'Whenever an Invoice is successfully reversed, a reversed log will be created. To retrieve a specific reversal receipt, you can request the corresponding log PDF.' parameters: - name: id in: path description: Id of the log invoice entity. required: true schema: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/invoice/{id}/payment': get: summary: Get an Invoice Payment information operationId: get-invoice-byId-payment tags: - Invoice description: 'Once an invoice has been paid, you can get the payment information using the Invoice. Payment sub-resource.' parameters: - name: id in: path description: Id of the invoice entity. required: true schema: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/dynamic-brcode: post: summary: Create Dynamic Brcodes operationId: create-dynamicBrcode tags: - Dynamic Brcode description: Use this route to create up to 100 new dynamic brcodes at a time. requestBody: required: true content: application/json: schema: type: object properties: amount: type: integer description: 'A non-negative integer that represents the amount in cents to be received. Example: 100 (R$1.00).' displayDescription: type: string description: 'Description to be shown in the payer bank interface. ex: "Payment for service #1234"' expiration: type: integer description: 'Time in seconds counted from the creation datetime until the brcode expires. After expiration, the brcode cannot be paid anymore. Default value: 3600 (1 hour).' rules: type: array items: type: string description: | List of rules for modifying dynamic brcode behavior. Example: [{"key": "allowedTaxIds", "value": ["012.345.678-90", "45.059.493/0001-73"]}] tags: type: array items: type: string description: Array of strings to tag the entity for future queries. All tags will be converted to lowercase. required: - amount responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' get: summary: List Dynamic Brcodes operationId: list-dynamicBrcode tags: - Dynamic Brcode description: 'Get a list of brcodes in chunks of at most 100. If you need smaller chunks, use the limit parameter.' parameters: - name: after in: query description: Filter entities created after this date. required: false schema: type: string format: date - name: before in: query description: Filter entities created before this date. required: false schema: type: string format: date - name: cursor in: query description: String used to get the next batch of results. Our SDKs handle this for you. required: false schema: type: string - name: limit in: query description: Number of results per cursor. Max = 100. required: false schema: type: integer minimum: 1 maximum: 100 - name: tags in: query description: Filter entities that contain the specified tags. required: false schema: type: array items: type: string - name: uuids in: query description: list of uuids to filter retrieved objects. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/dynamic-brcode/{uuid}': get: summary: Get a Dynamic Brcode operationId: get-dynamicBrcode-byUuid tags: - Dynamic Brcode description: Get a single dynamic brcode by its uuid. parameters: - name: uuid in: path description: Uuid of the brcode entity. required: true schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/deposit: get: summary: List Deposits operationId: list-deposit tags: - Deposit description: Here you can list and filter all deposits you have received. We return it paged. parameters: - name: after in: query description: Filter entities created after this date. required: false schema: type: string format: date - name: before in: query description: Filter entities created before this date. required: false schema: type: string format: date - name: cursor in: query description: String used to get the next batch of results. Our SDKs handle this for you. required: false schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string - name: ids in: query description: List of strings to get specific entities by ids. required: false schema: type: array items: type: string - name: limit in: query description: Number of results per cursor. Max = 100. required: false schema: type: integer minimum: 1 maximum: 100 - name: sort in: query description: 'Sort order considered in the response. Options are: "created", "-created".' required: false schema: type: string - name: status in: query description: Filter deposits by the specified status. required: false schema: type: string - name: tags in: query description: Filter entities that contain the specified tags. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/deposit/{id}': get: summary: Get a Deposit operationId: get-deposit-byId tags: - Deposit description: Get a single Deposit by its id. parameters: - name: id in: path description: 'Id of the deposit. Example: ''5656565656565656''.' required: true schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' patch: summary: Update a Deposit operationId: update-deposit-byId tags: - Deposit description: Update the Deposit by passing its id to be partially or fully reversed. requestBody: required: true content: application/json: schema: type: object properties: amount: type: integer description: The new amount of the Deposit. If the amount = 0 the Deposit will be fully reversed required: - amount parameters: - name: id in: path description: 'Id of the deposit. Example: ''5155165527080960''.' required: true schema: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/deposit/log: get: summary: List Deposit Logs operationId: list-deposit-log tags: - Deposit description: Get a paged list of all deposit logs. A log tracks a change in the deposit entity according to its life cycle. parameters: - name: after in: query description: Filter entities created after this date. required: false schema: type: string format: date - name: before in: query description: Filter entities created before this date. required: false schema: type: string format: date - name: cursor in: query description: String used to get the next batch of results. Our SDKs handle this for you. required: false schema: type: string - name: depositIds in: query description: Array of deposit ids that are linked to the logs you desire. required: false schema: type: array items: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string - name: limit in: query description: Number of results per cursor. Max = 100. required: false schema: type: integer minimum: 1 maximum: 100 - name: types in: query description: Filters logs by log types. required: false schema: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/deposit/log/{id}': get: summary: Get a Deposit Log operationId: get-deposit-log-byId tags: - Deposit description: Get a single deposit log by its id. parameters: - name: id in: path description: Id of the log entity required: true schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/deposit/log/{id}/pdf': get: summary: Get a reversed Deposit Log PDF operationId: get-deposit-log-byId-pdf tags: - Deposit description: 'Whenever a Deposit is successfully reversed, a reversed log will be created. To retrieve a specific reversal receipt, you can request the corresponding log PDF.' parameters: - name: id in: path description: Id of the log Deposit entity. required: true schema: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/boleto: post: summary: Create Boletos operationId: create-boleto tags: - Boleto description: 'This is how you create a new list of boletos. You can create up to 100 boletos per request. In case a boleto is paid after its due date and there is fine or interest, its amount will be updated with the paid amount. The same is valid if the boleto is paid with a discount.' requestBody: required: true content: application/json: schema: type: object properties: amount: type: integer description: 'A positive integer that represents the amount in cents to be charged. Example: 100 (R$1.00).' city: type: string description: 'Customer city name. Example: "São Paulo".' district: type: string description: 'Customer district name. Example: "Itaim Bibi".' name: type: string description: 'Customer full name. Example: "Anthony Edward Stark".' stateCode: type: string description: 'Customer state code. Example: "SP".' streetLine1: type: string description: 'Customer street address. Example: "Av. Faria Lima, 1844".' streetLine2: type: string description: 'Customer street address complement. Example: "CJ 13".' taxId: type: string description: 'Customer CPF (11 digits formatted or unformatted) or CNPJ (14 digits formatted or unformatted). Example: 012.345.678-90.' zipCode: type: string description: 'Customer zip code. Example: 01500-000.' descriptions: type: array items: type: object description: | List of up to 15 descriptions containing information to help the customer understand why he is being charged. You can add text and amount to create a table or you can just add text. When generating PDFs, if the 'booklet' layout is selected, only the text field of the first description will be considered and it will be used to fill the installment cell in the PDF. Example: [{"text": "Explaining first part of the value", "amount": 20000}, {"text": "More text to explaining something to the customer"}] discounts: type: array items: type: object description: | List of up to 2 discounts specifying the discount percentage and the limit date up to when the discount is valid. Example: [{"percentage": 5, "date": "2020-04-01"}, {"percentage": 3.5, "date": "2020-04-02"}] due: type: string format: date-time description: 'Due date of the boleto. Example: 2020-06-27. The default value is set to two days after creation date.' fine: type: number format: float description: 'Percentage of the boleto amount charged if customer pays after the due date. Default value = 2.00 (2%).' interest: type: number format: float description: 'Monthly interest, in percentage, charged if customer pays after the due date. Default value = 1.00 (1%).' overdueLimit: type: string description: Number of days after due date after which the boleto will no longer be payable. 0<=overdueLimit<=59. Default value=59. receiverName: type: string description: 'Name of the credit receiver (Sacador Avalista). If none is informed, workspace owner name will be used. If informed, receiverTaxId must also be informed.' receiverTaxId: type: string description: 'Tax ID (CPF/CNPJ) of the credit receiver (Sacador Avalista). If none is informed, workspace owner tax ID will be used. If informed, receiverName must also be informed.' splits: type: array items: type: object description: | Array of Split objects to indicate payment receivers. Example: [{"receiverId": "5742447426535424", "amount": 100}, {"receiverId": "5743243941642240", "amount": 200}] tags: type: array items: type: string description: Filter entities that contain the specified tags. required: - amount - city - district - name - stateCode - streetLine1 - streetLine2 - taxId - zipCode responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' get: summary: List Boletos operationId: list-boleto tags: - Boleto description: 'Get a list of non-deleted boletos in chunks of at most 100. If you need smaller chunks, use the limit parameter.' parameters: - name: after in: query description: Filter entities created after this date. required: false schema: type: string format: date - name: before in: query description: Filter entities created before this date. required: false schema: type: string format: date - name: cursor in: query description: String used to get the next batch of results. Our SDKs handle this for you. required: false schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string - name: ids in: query description: List of strings to get specific entities by ids. required: false schema: type: array items: type: string - name: limit in: query description: Number of results per cursor. Max = 100. required: false schema: type: integer minimum: 1 maximum: 100 - name: status in: query description: Filter boletos by the specified status. required: false schema: type: string - name: tags in: query description: Filter entities that contain the specified tags. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/boleto/{id}': get: summary: Get a Boleto operationId: get-boleto-byId tags: - Boleto description: Get a single boleto by its id. parameters: - name: id in: path description: Id of the boleto entity. required: true schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' delete: summary: Delete a Boleto operationId: delete-boleto-byId tags: - Boleto description: | Delete a single boleto. We will send a request to CIP to cancel the boleto registration. After the boleto registration is canceled, it won't be possible to pay it anymore. NOTE: This action cannot be undone. parameters: - name: id in: path description: Id of the boleto entity. required: true schema: type: string responses: '200': description: Successfully deleted content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/boleto/{id}/pdf': get: summary: Get a Boleto PDF operationId: get-boleto-byId-pdf tags: - Boleto description: 'Get a downloadable boleto PDF file. This route is public and does not require the usual authentication headers. However, if you request an invalid boleto ID too many times, your IP will be blocked for this specific route.' parameters: - name: id in: path description: Id of the boleto entity required: true schema: type: string - name: hiddenFields in: query description: 'List of fields to be hidden in Boleto pdf. Example: ["customerAddress"].' required: false schema: type: array items: type: string - name: layout in: query description: 'PDF layout. Available options are "default" (full page) and "booklet" ("carnê").' required: false schema: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/boleto/log: get: summary: List Boleto logs operationId: list-boleto-log tags: - Boleto description: Get a paged list of boleto logs. A log tracks a change in the boleto entity according to its life cycle. parameters: - name: after in: query description: Filter entities created after this date. required: false schema: type: string format: date - name: before in: query description: Filter entities created before this date. required: false schema: type: string format: date - name: boletoIds in: query description: Array of boleto ids that are linked to the logs you desire. required: false schema: type: array items: type: string - name: cursor in: query description: String used to get the next batch of results. Our SDKs handle this for you. required: false schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string - name: limit in: query description: Number of results per cursor. Max = 100. required: false schema: type: integer minimum: 1 maximum: 100 - name: types in: query description: Filters logs by log types. required: false schema: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/boleto/log/{id}': get: summary: Get a Boleto Log operationId: get-boleto-log-byId tags: - Boleto description: Get a single boleto log by its id. parameters: - name: id in: path description: Id of the log entity required: true schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/boleto-holmes: post: summary: Create Boleto Holmes operationId: create-boletoHolmes tags: - Boleto Holmes description: Use this route to verify the updated status of boletos generated at Stark Bank according to CIP. requestBody: required: true content: application/json: schema: type: object properties: boletoId: type: string description: 'Investigated boleto entity ID. ex: ''5656565656565656''' tags: type: array items: type: string description: Array of strings to tag the entity for future queries. All tags will be converted to lowercase. required: - boletoId responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' get: summary: List Boleto Holmes operationId: list-boletoHolmes tags: - Boleto Holmes description: 'Get a list of non-deleted boletos in chunks of at most 100. If you need smaller chunks, use the limit parameter.' parameters: - name: after in: query description: Filter entities created after this date. required: false schema: type: string format: date - name: before in: query description: Filter entities created before this date. required: false schema: type: string format: date - name: boletoId in: query description: String to get boletos holmes that refer to a specific boleto ID. required: false schema: type: string - name: cursor in: query description: String used to get the next batch of results. Our SDKs handle this for you. required: false schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string - name: ids in: query description: 'List of ids to filter retrieved objects. ex: [''5656565656565656'', ''4545454545454545'']' required: false schema: type: array items: type: string - name: limit in: query description: Number of results per cursor. Max = 100. required: false schema: type: integer minimum: 1 maximum: 100 - name: status in: query description: Filter holmes by the specified status. required: false schema: type: string - name: tags in: query description: Filter entities that contain the specified tags. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/boleto-holmes/{id}': get: summary: Get a Boleto Holmes operationId: get-boletoHolmes-byId tags: - Boleto Holmes description: Get a single boleto holmes by its id. parameters: - name: id in: path description: Id of the boleto holmes entity. required: true schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/boleto-holmes/log: get: summary: List Boleto Holmes Logs operationId: list-boletoHolmes-log tags: - Boleto Holmes description: Get a paged list of all boleto holmes logs. A log tracks a change in the holmes entity according to its life cycle. parameters: - name: after in: query description: Filter entities created after this date. required: false schema: type: string format: date - name: before in: query description: Filter entities created before this date. required: false schema: type: string format: date - name: cursor in: query description: String used to get the next batch of results. Our SDKs handle this for you. required: false schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string - name: holmesIds in: query description: Filter logs by Holmes IDs required: false schema: type: string - name: limit in: query description: Number of results per cursor. Max = 100. required: false schema: type: integer minimum: 1 maximum: 100 - name: types in: query description: Filters logs by log types. required: false schema: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/boleto-holmes/log/{id}': get: summary: Get a Boleto Holmes Log operationId: get-boletoHolmes-log-byId tags: - Boleto Holmes description: Get a single boleto holmes log by its id. parameters: - name: id in: path description: Id of the log entity required: true schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/split: get: summary: List Splits operationId: list-split tags: - Split description: 'Get a list of Splits in chunks of at most 100. If you need smaller chunks, use the limit parameter.' parameters: - name: after in: query description: Filter entities created after this date. required: false schema: type: string format: date - name: before in: query description: Filter entities created before this date. required: false schema: type: string format: date - name: cursor in: query description: String used to get the next batch of results. Our SDKs handle this for you. required: false schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string - name: ids in: query description: List of strings to get specific entities by ids. required: false schema: type: array items: type: string - name: limit in: query description: Number of results per cursor. Max = 100. required: false schema: type: integer minimum: 1 maximum: 100 - name: receiverIds in: query description: 'list of receiver ids to filter retrieved objects. ex: [''5656565656565656'', ''4545454545454545''].' required: false schema: type: array items: type: string - name: status in: query description: Filter splits by the specified status. required: false schema: type: string - name: tags in: query description: Filter entities that contain the specified tags. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/split/{id}': get: summary: Get a Split operationId: get-split-byId tags: - Split description: Get a single Split by its id. parameters: - name: id in: path description: Id of the Split entity required: true schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/split/log: get: summary: List Split Logs operationId: list-split-log tags: - Split description: Get a paged list of Split logs. A log tracks a change in the Split entity according to its life cycle. parameters: - name: after in: query description: Filter entities created after this date. required: false schema: type: string format: date - name: before in: query description: Filter entities created before this date. required: false schema: type: string format: date - name: cursor in: query description: String used to get the next batch of results. Our SDKs handle this for you. required: false schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string - name: limit in: query description: Number of results per cursor. Max = 100. required: false schema: type: integer minimum: 1 maximum: 100 - name: splitIds in: query description: Array of Split ids that are linked to the logs you desire. required: false schema: type: array items: type: string - name: types in: query description: Filters logs by log types. required: false schema: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/split/log/{id}': get: summary: Get a Split Log operationId: get-split-log-byId tags: - Split description: Get a single Split Log by its id. parameters: - name: id in: path description: Id of the log entity. required: true schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/split-receiver: post: summary: Create Split Receiver operationId: create-splitReceiver tags: - Split Receiver description: Send a list of Split Receiver objects for creation in the Stark Bank API requestBody: required: true content: application/json: schema: type: object properties: accountNumber: type: string description: 'receiver bank account number. Use ''-'' before the verifier digit. ex: ''876543-2''' accountType: type: string description: 'Receiver bank account type. This parameter only has effect on Pix SplitReceivers. ex: ''checking'', ''savings'', ''salary'' or ''payment''' bankCode: type: string description: 'Code of the receiver bank institution in Brazil. If an ISPB (8 digits) is informed, a PIX splitReceiver will be created, else a Ted will be issued. ex: ''20018183'' or ''341''' branchCode: type: string description: 'Receiver bank account branch. Use ''-'' in case there is a verifier digit. ex: ''1357-9''' name: type: string description: 'Receiver full name. ex: ''Anthony Edward Stark''' taxId: type: string description: 'Receiver account tax ID (CPF or CNPJ) with or without formatting. ex: ''01234567890'' or ''20.018.183/0001-80''' tags: type: array items: type: string description: 'list of strings for reference when searching for receivers. ex: [''seller/123456'']' required: - accountNumber - accountType - bankCode - branchCode - name - taxId responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' get: summary: List Split Receivers operationId: list-splitReceiver tags: - Split Receiver description: 'Get a list of Split Receivers in chunks of at most 100. If you need smaller chunks, use the limit parameter.' parameters: - name: after in: query description: Filter entities created after this date. required: false schema: type: string format: date - name: before in: query description: Filter entities created before this date. required: false schema: type: string format: date - name: cursor in: query description: String used to get the next batch of results. Our SDKs handle this for you. required: false schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string - name: ids in: query description: List of strings to get specific entities by ids. required: false schema: type: array items: type: string - name: limit in: query description: Number of results per cursor. Max = 100. required: false schema: type: integer minimum: 1 maximum: 100 - name: receiverIds in: query description: 'List of receiver ids to filter retrieved objects. ex: [''5656565656565656'', ''4545454545454545''].' required: false schema: type: array items: type: string - name: status in: query description: Filter split receivers by the specified status. required: false schema: type: string - name: tags in: query description: Filter entities that contain the specified tags. required: false schema: type: array items: type: string - name: taxId in: query description: 'filter for splitReceivers sent to the specified tax ID. ex: ''012.345.678-90''' required: false schema: type: string - name: transactionIds in: query description: 'List of transaction IDs linked to the desired splitReceivers. ex: [''5656565656565656'', ''4545454545454545'']' required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/split-receiver/{id}': get: summary: Get a Split Receiver operationId: get-splitReceiver-byId tags: - Split Receiver description: Retrieve a single Split Receiver object previously created in the Stark Bank API by its id. parameters: - name: id in: path description: Id of the Split Receiver entity required: true schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/split-receiver/log: get: summary: List Split Receiver Logs operationId: list-splitReceiver-log tags: - Split Receiver description: Get a paged list of Split Receiver logs. A log tracks a change in the Split Receiver entity according to its life cycle. parameters: - name: after in: query description: Filter entities created after this date. required: false schema: type: string format: date - name: before in: query description: Filter entities created before this date. required: false schema: type: string format: date - name: cursor in: query description: String used to get the next batch of results. Our SDKs handle this for you. required: false schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string - name: limit in: query description: Number of results per cursor. Max = 100. required: false schema: type: integer minimum: 1 maximum: 100 - name: receiverIds in: query description: 'List of Split Receiver ids to filter retrieved objects. ex: [''5656565656565656'', ''4545454545454545''].' required: false schema: type: array items: type: string - name: types in: query description: 'filter retrieved objects by event types. ex: ''processing'' or ''success''' required: false schema: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/split-receiver/log/{id}': get: summary: Get a Split Receiver Log operationId: get-splitReceiver-log-byId tags: - Split Receiver description: Get a single Split Receiver Log by its id. parameters: - name: id in: path description: Id of the log entity. required: true schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/split-profile: put: summary: Put a Split Profile operationId: put-splitProfile tags: - Split Profile description: 'Send a list containing a single Split Profile object. If the object has already been created, its rules will be updated.' requestBody: required: true content: application/json: schema: type: object properties: delay: type: integer description: How long the amount will stay at the workspace in milliseconds interval: type: string description: 'Frequency of transfer, default "week". Options: "day", "week", "month"' tags: type: array items: type: string description: 'List of strings for reference when searching for profiles. ex: ["test profile"]' responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' get: summary: List Split Profiles operationId: list-splitProfile tags: - Split Profile description: 'Get a list of Split Profiles in chunks of up to 100. If you need smaller chunks, use the limit parameter.' parameters: - name: after in: query description: Filter entities created after this date. required: false schema: type: string format: date - name: before in: query description: Filter entities created before this date. required: false schema: type: string format: date - name: cursor in: query description: String used to get the next batch of results. Our SDKs handle this for you. required: false schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string - name: ids in: query description: List of strings to get specific entities by ids. required: false schema: type: array items: type: string - name: limit in: query description: Number of results per cursor. Max = 100. required: false schema: type: integer minimum: 1 maximum: 100 - name: status in: query description: Filter split profiles by the specified status. required: false schema: type: string - name: tags in: query description: Filter entities that contain the specified tags. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/split-profile/{id}': get: summary: Get a Split Profile operationId: get-splitProfile-byId tags: - Split Profile description: 'Retrieve a single Split Profile object by its ID, which was previously created.' parameters: - name: id in: path description: Id of the Split Profile entity required: true schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/split-profile/log: get: summary: List Split Profile Logs operationId: list-splitProfile-log tags: - Split Profile description: Get a paged list of Split Profile logs. A log tracks a change in the Split Profile entity according to its life cycle. parameters: - name: after in: query description: Filter entities created after this date. required: false schema: type: string format: date - name: before in: query description: Filter entities created before this date. required: false schema: type: string format: date - name: cursor in: query description: String used to get the next batch of results. Our SDKs handle this for you. required: false schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string - name: limit in: query description: Number of results per cursor. Max = 100. required: false schema: type: integer minimum: 1 maximum: 100 - name: profileIds in: query description: 'List of Split Profile ids to filter retrieved objects. ex: [''5656565656565656'', ''4545454545454545''].' required: false schema: type: array items: type: string - name: types in: query description: 'filter retrieved objects by event types. ex: ''processing'' or ''success''' required: false schema: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/split-profile/log/{id}': get: summary: Get a Split Profile Log operationId: get-splitProfile-log-byId tags: - Split Profile description: Get a single Split Profile Log by its id. parameters: - name: id in: path description: Id of the log entity. required: true schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/invoice-pull-subscription: post: summary: Create Invoice Pull Subscriptions operationId: create-invoicePullSubscription tags: - Invoice Pull Subscription description: Use this route to create new invoice pull subscriptions. requestBody: required: true content: application/json: schema: type: object properties: displayDescription: type: string description: Description to be presented to the payer. externalId: type: string description: Safe string that must be unique among all your Invoice PullSubscriptions to prevent duplicates. interval: type: string description: 'Cycle definition of the Invoice Pull Requests. Options are "week", "month", "quarter", "semester" and "year".' name: type: string description: Name of the debtor. pullMode: type: string description: Defines if the invoice pull requests will be made automatically by Stark Bank or manually by the company. pullRetryLimit: type: string description: 'Defines how many times the receiver is able to create Invoice Pull Requests for retries. Options are "0" and "3".' referenceCode: type: string description: Safe string that must be unique among all your Pix Subscriptions and represent a contract. start: type: string description: Expected date to settle the first Invoice Pull Request. taxId: type: string description: Tax id of the debtor. type: type: string description: 'Subscription journey type. Options: "push", "qrcode", "qrcodeAndPayment" or "paymentAndOrQrCode".' amount: type: integer description: Fixed amount to be charged every cycle. Required if the subscription has a fixed amount. amountMinLimit: type: string description: Minimum amount limit that the payer can set to be charged every cycle. Required if the subscription has a variable amount. data: type: string description: | Additional data required for some types of invoice pull subscription. For the push type, this field sets the payer's account details. For the qrcodeAndPayment or paymentAndOrQrCode types, this field sets the immediate payment parameters. This field is not required for the qrcode type. due: type: string format: date-time description: 'Due date for answering with an approval or denial. If not provided, defaults to 2 days after creation.' end: type: string description: Determines the final date of the subscription. tags: type: array items: type: string description: Array of strings to tag the entity for future queries. All tags will be converted to lowercase. required: - displayDescription - externalId - interval - name - pullMode - pullRetryLimit - referenceCode - start - taxId - type - amount - amountMinLimit - data responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' get: summary: List Invoice Pull Subscriptions operationId: list-invoicePullSubscription tags: - Invoice Pull Subscription description: Here you can list and filter all invoice pull subscriptions you have made. We return it paged. parameters: - name: after in: query description: Filter entities created after this date. required: false schema: type: string format: date - name: before in: query description: Filter entities created before this date. required: false schema: type: string format: date - name: cursor in: query description: String used to get the next batch of results. Our SDKs handle this for you. required: false schema: type: string - name: expand in: query description: 'List of strings to expand the invoice pull subscription information. Options: "data".' required: false schema: type: array items: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string - name: ids in: query description: List of strings to get specific entities by ids. required: false schema: type: array items: type: string - name: limit in: query description: Number of results per cursor. Max = 100. required: false schema: type: integer minimum: 1 maximum: 100 - name: status in: query description: Filter invoice pull subscriptions by the specified status. required: false schema: type: string - name: tags in: query description: Filter entities that contain the specified tags. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/invoice-pull-subscription/{id}': get: summary: Get an Invoice Pull Subscription operationId: get-invoicePullSubscription-byId tags: - Invoice Pull Subscription description: Get a single invoice pull subscription by its id. parameters: - name: id in: path description: String used to get the specific invoice pull subscription by its ID. required: true schema: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' delete: summary: Cancel an Invoice Pull Subscription operationId: delete-invoicePullSubscription-byId tags: - Invoice Pull Subscription description: 'Cancel an existing invoice pull subscription. The subscription must be with "active" status to be canceled.' parameters: - name: id in: path description: String used to get the specific invoice pull subscription by its ID. required: true schema: type: string responses: '200': description: Successfully deleted content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/invoice-pull-subscription/log: get: summary: List Invoice Pull Subscription Logs operationId: list-invoicePullSubscription-log tags: - Invoice Pull Subscription description: Get a paged list of invoice pull subscription logs. A log tracks a change in the entity according to its life cycle. parameters: - name: after in: query description: Filter entities created after this date. required: false schema: type: string format: date - name: before in: query description: Filter entities created before this date. required: false schema: type: string format: date - name: cursor in: query description: String used to get the next batch of results. Our SDKs handle this for you. required: false schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string - name: limit in: query description: Number of results per cursor. Max = 100. required: false schema: type: integer minimum: 1 maximum: 100 - name: subscriptionIds in: query description: List of strings to get specific entities by ids. required: false schema: type: array items: type: string - name: tags in: query description: Filter entities that contain the specified tags. required: false schema: type: array items: type: string - name: types in: query description: Filter logs by log types. required: false schema: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/invoice-pull-subscription/log/{id}': get: summary: Get an Invoice Pull Subscription Log operationId: get-invoicePullSubscription-log-byId tags: - Invoice Pull Subscription description: Get a single invoice pull subscription log by its id. parameters: - name: id in: path description: String used to get the specific invoice pull subscription log by its ID. required: true schema: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/invoice-pull-request: post: summary: Create Invoice Pull Requests operationId: create-invoicePullRequest tags: - Invoice Pull Request description: Use this route to create new invoice pull requests. requestBody: required: true content: application/json: schema: type: object properties: attemptType: type: string description: 'Define the type of attempt, if it is the first one of a billing cycle or if it is a retry. Options: "default", "retry".' due: type: string format: date-time description: Expected date of settlement. invoiceId: type: string description: Unique ID of the invoice to be pulled. subscriptionId: type: string description: Unique ID of the invoice pull subscription. tags: type: array items: type: string description: Array of strings to tag the entity for future queries. All tags will be converted to lowercase. required: - attemptType - due - invoiceId - subscriptionId responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' get: summary: List Invoice Pull Requests operationId: list-invoicePullRequest tags: - Invoice Pull Request description: Here you can list and filter all invoice pull requests you have made. We return it paged. parameters: - name: after in: query description: Filter entities created after this date. required: false schema: type: string format: date - name: before in: query description: Filter entities created before this date. required: false schema: type: string format: date - name: cursor in: query description: String used to get the next batch of results. Our SDKs handle this for you. required: false schema: type: string - name: externalIds in: query description: List of external IDs linked to the desired pull requests. required: false schema: type: array items: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string - name: ids in: query description: List of strings to get specific entities by ids. required: false schema: type: array items: type: string - name: invoiceIds in: query description: List of invoice IDs linked to the desired pull requests. required: false schema: type: array items: type: string - name: limit in: query description: Number of results per cursor. Max = 100. required: false schema: type: integer minimum: 1 maximum: 100 - name: status in: query description: Filter invoice pull request by the specified status. required: false schema: type: string - name: subscriptionIds in: query description: List of subscription IDs linked to the desired pull requests. required: false schema: type: array items: type: string - name: tags in: query description: Filter entities that contain the specified tags. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/invoice-pull-request/{id}': get: summary: Get an Invoice Pull Request operationId: get-invoicePullRequest-byId tags: - Invoice Pull Request description: Get a single Invoice Pull Request by its id. parameters: - name: id in: path description: String used to get the specific invoice pull request by its ID. required: true schema: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' delete: summary: Cancel an Invoice Pull Request operationId: delete-invoicePullRequest-byId tags: - Invoice Pull Request description: Cancel a single Invoice Pull Request. parameters: - name: id in: path description: Id of the invoice pull request entity. required: true schema: type: string responses: '200': description: Successfully deleted content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/invoice-pull-request/log: get: summary: List Invoice Pull Request Logs operationId: list-invoicePullRequest-log tags: - Invoice Pull Request description: Get a paged list of invoice pull request logs. A log tracks a change in the entity according to its life cycle. parameters: - name: after in: query description: Filter entities created after this date. required: false schema: type: string format: date - name: before in: query description: Filter entities created before this date. required: false schema: type: string format: date - name: cursor in: query description: String used to get the next batch of results. Our SDKs handle this for you. required: false schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string - name: limit in: query description: Number of results per cursor. Max = 100. required: false schema: type: integer minimum: 1 maximum: 100 - name: requestIds in: query description: List of strings to get specific entities by ids. required: false schema: type: array items: type: string - name: types in: query description: 'Filter payment requests by the specified types. Example: confirmed' required: false schema: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/invoice-pull-request/log/{id}': get: summary: Get an Invoice Pull Request Log operationId: get-invoicePullRequest-log-byId tags: - Invoice Pull Request description: Get a single invoice pull request log by its id. parameters: - name: id in: path description: String used to get the specific invoice pull request log by its ID. required: true schema: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/merchant-session: post: summary: Create Merchant Sessions operationId: create-merchantSession tags: - Merchant Session description: | This route allows the merchant to create a session that can be used by the card holder's application to create a new purchase. The UUID parameter returned by the session should be used to create a Merchant Session Purchase. requestBody: required: true content: application/json: schema: type: object properties: allowedFundingTypes: type: string description: 'The types of funding that are allowed to be used for the purchase. Options are "credit" and "debit".' allowedInstallments: type: string description: 'The amount and number of installments allowed for the purchase. A non-negative integer that represents the amount in cents to be received and the number of installments. E.g: 100 (R$1.00).' expiration: type: integer description: 'Time in seconds counted from the creation datetime until the session expires. After expiration, a purchase cannot be created using the session anymore. E.g.: 3600 (1 hour).' allowedIps: type: string description: The IP addresses that are allowed to create a purchase using the session. challengeMode: type: string description: 'Defines whether or not a holder verification (3DS) will be used when authorizing the purchase. 3DS is a protocol designed to enhance security for e-commerce purchases. When enabled, the issuer provides a link for the card holder to complete a verification challenge. Options are "enabled" and "disabled". Default: "enabled"' tags: type: array items: type: string description: Array of strings to tag the entity for future queries. All tags will be converted to lowercase. required: - allowedFundingTypes - allowedInstallments - expiration responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' get: summary: List Merchant Sessions operationId: list-merchantSession tags: - Merchant Session description: 'Get a list of merchant sessions in chunks of at most 100. If you need smaller chunks, use the limit parameter.' parameters: - name: after in: query description: Filter entities created after this date. required: false schema: type: string format: date - name: before in: query description: Filter entities created before this date. required: false schema: type: string format: date - name: cursor in: query description: String used to get the next batch of results. Our SDKs handle this for you. required: false schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string - name: ids in: query description: List of strings to get specific entities by ids. required: false schema: type: array items: type: string - name: limit in: query description: Number of results per cursor. Max = 100. required: false schema: type: integer minimum: 1 maximum: 100 - name: status in: query description: 'Filter sessions by the specified status, such as: active, expired, success.' required: false schema: type: string - name: tags in: query description: Filter entities that contain the specified tags. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/merchant-session/{uuid}/purchase': post: summary: Create Merchant Session Purchase operationId: create-merchantSession-byUuid-purchase tags: - Merchant Session description: | This route can be used to create a Merchant Purchase directly from the payer's client application. The UUID of a Merchant Session that was previously created by the merchant is necessary to access this route. requestBody: required: true content: application/json: schema: type: object properties: amount: type: integer description: 'A non-negative integer that represents the amount in cents to be received. E.g: 100 (R$1.00)' cardExpiration: type: string description: A string in the format YYYY-MM representing the expiration of the card to be used for the purchase. cardNumber: type: string description: A string representing the number of the card to be used for the purchase. cardSecurityCode: type: string description: A string representing the security code of the card to be used for the purchase. fundingType: type: string description: 'The type of funding to be used for the purchase. Options are "credit" and "debit".' holderName: type: string description: The name of the card holder as it appears on the card. billingCity: type: string description: 'The billing city associated with the card used for the purchase. Required if challengeMode is "enabled" and optional otherwise.' billingCountryCode: type: string description: 'The billing country code associated with the card used for the purchase. Required if challengeMode is "enabled" and optional otherwise.' billingStateCode: type: string description: 'The billing state code associated with the card used for the purchase. Required if challengeMode is "enabled" and optional otherwise.' billingStreetLine1: type: string description: 'The billing street address associated with the card used for the purchase. Required if challengeMode is "enabled" and optional otherwise.' billingStreetLine2: type: string description: 'The billing street address complement associated with the card used for the purchase. Required if challengeMode is "enabled" and optional otherwise.' billingZipCode: type: string description: 'The billing zip code associated with the card used for the purchase. Required if challengeMode is "enabled" and optional otherwise.' holderEmail: type: string description: 'The email associated with the holder of the card used for the purchase. Required if challengeMode is "enabled" and optional otherwise.' holderPhone: type: string description: 'The phone number associated with the holder of the card used for the purchase. Required if challengeMode is "enabled" and optional otherwise.' installmentCount: type: string description: 'A non-negative integer that represents the number of purchase installments. Default: 1' metadata: type: string description: 'An object containing additional data related to the purchase. If 3DS is enabled, the following fields related to the payer''s device are required: userAgent, timezoneOffset, userIp, language.' required: - amount - cardExpiration - cardNumber - cardSecurityCode - fundingType - holderName - billingCity - billingCountryCode - billingStateCode - billingStreetLine1 - billingStreetLine2 - billingZipCode - holderEmail - holderPhone - metadata parameters: - name: uuid in: path description: The UUID of the Merchant Session created by the merchant to process the purchase. required: true schema: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/merchant-session/{id}': get: summary: Get a Merchant Session operationId: get-merchantSession-byId tags: - Merchant Session description: Retrieve detailed information about a specific session by its id. parameters: - name: id in: path description: The unique identifier for the merchant session that needs to be retrieved. required: true schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/merchant-session/log: get: summary: List Merchant Session Logs operationId: list-merchantSession-log tags: - Merchant Session description: | Get a paged list of merchant session logs. A log tracks a change in the session entity according to its life cycle. parameters: - name: after in: query description: Filter entities created after this date. required: false schema: type: string format: date - name: before in: query description: Filter entities created before this date. required: false schema: type: string format: date - name: cursor in: query description: String used to get the next batch of results. Our SDKs handle this for you. required: false schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string - name: limit in: query description: Number of results per cursor. Max = 100. required: false schema: type: integer minimum: 1 maximum: 100 - name: sessionIds in: query description: Filter the merchant session ids to only include its corresponding logs required: false schema: type: string - name: types in: query description: Filters logs by log types. required: false schema: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/merchant-session/log/{id}': get: summary: Get a Merchant Session Log operationId: get-merchantSession-log-byId tags: - Merchant Session description: Get a single merchant session log by its id. parameters: - name: id in: path description: The unique identifier for the merchant session that needs to be retrieved. required: true schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/merchant-purchase: post: summary: Create Merchant Purchase operationId: create-merchantPurchase tags: - Merchant Purchase description: | This route is used to charge a card that has been previously saved. Cards can only be used in this route once a previous purchase was approved through a Merchant Session Purchase. requestBody: required: true content: application/json: schema: type: object properties: amount: type: integer description: 'A non-negative integer that represents the amount in cents to be received. E.g: 100 (R$1.00)' cardId: type: string description: The ID of the Merchant Card to be used for the purchase. fundingType: type: string description: 'The type of funding to be used for the purchase. Options are "credit" and "debit".' billingCity: type: string description: 'The billing city associated with the card used for the purchase. Required if challengeMode is "enabled" and optional otherwise.' billingCountryCode: type: string description: 'The billing country code associated with the card used for the purchase. Required if challengeMode is "enabled" and optional otherwise.' billingStateCode: type: string description: 'The billing state code associated with the card used for the purchase. Required if challengeMode is "enabled" and optional otherwise.' billingStreetLine1: type: string description: 'The billing street address associated with the card used for the purchase. Required if challengeMode is "enabled" and optional otherwise.' billingStreetLine2: type: string description: 'The billing street address complement associated with the card used for the purchase. Required if challengeMode is "enabled" and optional otherwise.' billingZipCode: type: string description: 'The billing zip code associated with the card used for the purchase. Required if challengeMode is "enabled" and optional otherwise.' challengeMode: type: string description: 'Defines whether or not a holder verification (3DS) will be used when authorizing the purchase. Options are "enabled" and "disabled". Default: "enabled"' holderEmail: type: string description: 'The email associated with the holder of the card used for the purchase. Required if challengeMode is "enabled" and optional otherwise.' holderPhone: type: string description: 'The phone number associated with the holder of the card used for the purchase. Required if challengeMode is "enabled" and optional otherwise.' installmentCount: type: string description: 'A non-negative integer that represents the number of purchase installments. Default: 1' metadata: type: string description: 'An object containing additional data related to the purchase. If 3DS is enabled, the following fields related to the buyer''s device are required: userAgent, timezoneOffset, userIp, language.' required: - amount - cardId - fundingType - billingCity - billingCountryCode - billingStateCode - billingStreetLine1 - billingStreetLine2 - billingZipCode - holderEmail - holderPhone - metadata responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' get: summary: List Merchant Purchases operationId: list-merchantPurchase tags: - Merchant Purchase description: 'Get a list of merchant purchases in chunks of at most 100. If you need smaller chunks, use the limit parameter.' parameters: - name: after in: query description: Filter entities created after this date. required: false schema: type: string format: date - name: before in: query description: Filter entities created before this date. required: false schema: type: string format: date - name: cursor in: query description: String used to get the next batch of results. Our SDKs handle this for you. required: false schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string - name: ids in: query description: List of strings to get specific entities by ids. required: false schema: type: array items: type: string - name: limit in: query description: Number of results per cursor. Max = 100. required: false schema: type: integer minimum: 1 maximum: 100 - name: status in: query description: 'Filter purchases by the specified status, such as: created, approved, denied, confirmed, paid, pending, canceled, voided, failed.' required: false schema: type: string - name: tags in: query description: Filter entities that contain the specified tags. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/merchant-purchase/{id}': patch: summary: Update a Merchant Purchase operationId: update-merchantPurchase-byId tags: - Merchant Purchase description: 'Update a single purchase. If the purchase is currently approved, you can only update the status to canceled and set the amount to 0. This action cancels the authorization. If the purchase is currently confirmed, you can update the status to reversed and adjust the amount to a lower value. This action debits the difference and reverses the purchase, partially or totally. If the purchase is partially reversed, its status will remain confirmed. However, if the purchase is fully reversed, its status will be updated to voided.' requestBody: required: true content: application/json: schema: type: object properties: amount: type: integer description: 'New amount of the purchase. If the purchase is confirmed, this will debit and reverse the difference. If the purchase is authorized, only 0 is allowed and this will cancel the authorization. Example: 200 (R$2.00).' status: type: string description: 'This can be used to cancel or reverse the purchase by passing ''canceled'' or ''reversed'' as the status patch.' parameters: - name: id in: path description: Id of the purchase entity. required: true schema: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' get: summary: Get a Merchant Purchase operationId: get-merchantPurchase-byId tags: - Merchant Purchase description: Retrieve detailed information about a specific purchase by its id. parameters: - name: id in: path description: The unique identifier for the merchant purchase that needs to be retrieved. required: true schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/merchant-purchase/log: get: summary: List Merchant Purchase Logs operationId: list-merchantPurchase-log tags: - Merchant Purchase description: | Get a paged list of merchant purchase logs. A log tracks a change in the purchase entity according to its life cycle. parameters: - name: after in: query description: Filter entities created after this date. required: false schema: type: string format: date - name: before in: query description: Filter entities created before this date. required: false schema: type: string format: date - name: cursor in: query description: String used to get the next batch of results. Our SDKs handle this for you. required: false schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string - name: limit in: query description: Number of results per cursor. Max = 100. required: false schema: type: integer minimum: 1 maximum: 100 - name: purchaseIds in: query description: Filter the merchant purchase ids to only include its corresponding logs required: false schema: type: string - name: types in: query description: Filters logs by log types. required: false schema: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/merchant-purchase/log/{id}': get: summary: Get a Merchant Purchase Log operationId: get-merchantPurchase-log-byId tags: - Merchant Purchase description: Get a single merchant purchase log by its id. parameters: - name: id in: path description: The unique identifier for the merchant purchase that needs to be retrieved. required: true schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/merchant-card: get: summary: List Merchant Cards operationId: list-merchantCard tags: - Merchant Card description: 'Get a list of merchant cards in chunks of at most 100. If you need smaller chunks, use the limit parameter.' parameters: - name: after in: query description: Filter entities created after this date. required: false schema: type: string format: date - name: before in: query description: Filter entities created before this date. required: false schema: type: string format: date - name: cursor in: query description: String used to get the next batch of results. Our SDKs handle this for you. required: false schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string - name: ids in: query description: List of strings to get specific entities by ids. required: false schema: type: array items: type: string - name: limit in: query description: Number of results per cursor. Max = 100. required: false schema: type: integer minimum: 1 maximum: 100 - name: status in: query description: 'Filter cards by the specified status, such as: active, expired, canceled or blocked.' required: false schema: type: string - name: tags in: query description: Filter entities that contain the specified tags. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/merchant-card/{id}': get: summary: Get a Merchant Card operationId: get-merchantCard-byId tags: - Merchant Card description: Retrieve detailed information about a specific card by its id. parameters: - name: id in: path description: The unique identifier for the merchant card that needs to be retrieved. required: true schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/merchant-card/log: get: summary: List Merchant Card Logs operationId: list-merchantCard-log tags: - Merchant Card description: | Get a paged list of merchant card logs. A log tracks a change in the card entity according to its lifecycle. parameters: - name: after in: query description: Filter entities created after this date. required: false schema: type: string format: date - name: before in: query description: Filter entities created before this date. required: false schema: type: string format: date - name: cardIds in: query description: Array of card ids that are linked to the logs you desire. required: false schema: type: array items: type: string - name: cursor in: query description: String used to get the next batch of results. Our SDKs handle this for you. required: false schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string - name: limit in: query description: Number of results per cursor. Max = 100. required: false schema: type: integer minimum: 1 maximum: 100 - name: types in: query description: Filters logs by log types. required: false schema: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/merchant-card/log/{id}': get: summary: Get a Merchant Card Log operationId: get-merchantCard-log-byId tags: - Merchant Card description: Get a single merchant card log by its id. parameters: - name: id in: path description: The unique identifier for the merchant card that needs to be retrieved. required: true schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/merchant-installment: get: summary: List Merchant Installments operationId: list-merchantInstallment tags: - Merchant Installment description: 'Get a list of merchant installments in chunks of at most 100. If you need smaller chunks, use the limit parameter.' parameters: - name: after in: query description: Filter entities created after this date. required: false schema: type: string format: date - name: before in: query description: Filter entities created before this date. required: false schema: type: string format: date - name: cursor in: query description: String used to get the next batch of results. Our SDKs handle this for you. required: false schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string - name: ids in: query description: List of strings to get specific entities by ids. required: false schema: type: array items: type: string - name: limit in: query description: Number of results per cursor. Max = 100. required: false schema: type: integer minimum: 1 maximum: 100 - name: status in: query description: 'Filter installments by the specified status, such as: created, paid, canceled, voided.' required: false schema: type: string - name: tags in: query description: Filter entities that contain the specified tags. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/merchant-installment/{id}': get: summary: Get a Merchant Installment operationId: get-merchantInstallment-byId tags: - Merchant Installment description: Retrieve detailed information about a specific installment by its id. parameters: - name: id in: path description: The unique identifier for the merchant installment that needs to be retrieved. required: true schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/merchant-installment/log: get: summary: List Merchant Installment Logs operationId: list-merchantInstallment-log tags: - Merchant Installment description: | Get a paged list of merchant installment logs. A log tracks a change in the installment entity according to its life cycle. parameters: - name: after in: query description: Filter entities created after this date. required: false schema: type: string format: date - name: before in: query description: Filter entities created before this date. required: false schema: type: string format: date - name: cursor in: query description: String used to get the next batch of results. Our SDKs handle this for you. required: false schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string - name: installmentIds in: query description: Filter the merchant installment ids to only include their corresponding logs required: false schema: type: string - name: limit in: query description: Number of results per cursor. Max = 100. required: false schema: type: integer minimum: 1 maximum: 100 - name: types in: query description: Filters logs by log types. required: false schema: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/merchant-installment/log/{id}': get: summary: Get a Merchant Installment Log operationId: get-merchantInstallment-log-byId tags: - Merchant Installment description: Get a single merchant installment log by its id. parameters: - name: id in: path description: The unique identifier for the merchant installment that needs to be retrieved. required: true schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/transfer: post: summary: Create Transfers operationId: create-transfer tags: - Transfer description: | This route is used to send your transfers to their receivers. You can create up to 100 transfers in a single request. requestBody: required: true content: application/json: schema: type: object properties: accountNumber: type: string description: 'Receiver bank account number. Use "-" before the validation digit. Example: 876543-2.' amount: type: integer description: 'A positive integer that represents the amount in cents to be transferred. Example: 100 (R$1.00)' bankCode: type: string description: 'Besides informing the receiver bank, this parameter specifies whether this will be a Pix or a Ted transfer. If you wish to send a Pix, pass the bank ISPB (8 digits). Example: 20018183 = StarkBank. If you wish to send a Ted, pass the usual bank code (1 to 3 digits). Example: 665 = Stark' branchCode: type: string description: 'Receiver bank account branch. Use "-" in case there is a validation digit. Example: 1234-5' name: type: string description: 'Receiver full name. Example: "Joana da Silva"' taxId: type: string description: 'Receiver CPF (11 digits formatted or unformatted) or CNPJ (14 digits formatted or unformatted). Example: 012.345.678-90' accountType: type: string description: 'Receiver bank account type. Options are "checking", "payment", "savings" and "salary". "checking" is the default. This parameter only has effect on Pix Transfers.' description: type: string description: 'Optional description to override default description to be shown in the bank statement. Example: "Payment for service #1234"' displayDescription: type: string description: 'Description to be shown in the receiver bank interface. ex: "Payment for service #1234"' externalId: type: string description: 'Unique ID to prevent duplicate transfers. Repeated externalIds should cause failures by duplication. By default, it blocks transfers to the same bank account with the same amount on the same day. Example: "my-internal-id-123456"' rules: type: array items: type: string description: | List of rules for modifying transfer behavior. Example: [{"key": "resendingLimit", "value": 5}] scheduled: type: string format: date-time description: 'Schedule the transfer for a specific date. Today is the default. Ted Transfer''s schedules for today will be accepted until 16:00 (BRT) and will be pushed to the next business day afterwards. Pix Transfers are available 24/7 and can be scheduled for any date and time. Example: "2020-08-14T15:23:26+00:00" or "2020-08-14"' tags: type: array items: type: string description: Array of strings to tag the entity for future queries. All tags will be converted to lowercase. required: - accountNumber - amount - bankCode - branchCode - name - taxId responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' get: summary: List Transfers operationId: list-transfer tags: - Transfer description: Here you can list and filter all transfers you have made. We return it paged. parameters: - name: after in: query description: Filter entities created after this date. required: false schema: type: string format: date - name: before in: query description: Filter entities created before this date. required: false schema: type: string format: date - name: cursor in: query description: String used to get the next batch of results. Our SDKs handle this for you. required: false schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string - name: ids in: query description: List of strings to get specific entities by ids. required: false schema: type: array items: type: string - name: limit in: query description: Number of results per cursor. Max = 100. required: false schema: type: integer minimum: 1 maximum: 100 - name: sort in: query description: 'Sort order considered in the response. Options are: "created", "-created", "updated" and "-updated". "-" means descending order. Default is "-created".' required: false schema: type: string - name: status in: query description: Filter transfers by the specified status. required: false schema: type: string - name: tags in: query description: Filter entities that contain the specified tags. required: false schema: type: array items: type: string - name: taxId in: query description: Filter transfers sent to the specified tax ID. required: false schema: type: string - name: transactionIds in: query description: List of transaction IDs linked to the desired transfers. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/transfer/{id}': get: summary: Get a Transfer operationId: get-transfer-byId tags: - Transfer description: Get a single transfer by its id. parameters: - name: id in: path description: Id of the transfer entity. required: true schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' delete: summary: Cancel a scheduled Transfer operationId: delete-transfer-byId tags: - Transfer description: | Cancel a scheduled transfer. You can only cancel transfers before they start being processed. NOTE:Canceled transfers will still appear in your queries. parameters: - name: id in: path description: Id of the transfer entity. required: true schema: type: string responses: '200': description: Successfully deleted content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/transfer/{id}/pdf': get: summary: Get a Transfer PDF operationId: get-transfer-byId-pdf tags: - Transfer description: Get a PDF from a single transfer by its id. parameters: - name: id in: path description: Id of the transfer entity. required: true schema: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/transfer/log: get: summary: List Transfer Logs operationId: list-transfer-log tags: - Transfer description: Get a paged list of all transfer logs. A log tracks a change in the transfer entity according to its life cycle. parameters: - name: after in: query description: Filter entities created after this date. required: false schema: type: string format: date - name: before in: query description: Filter entities created before this date. required: false schema: type: string format: date - name: cursor in: query description: String used to get the next batch of results. Our SDKs handle this for you. required: false schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string - name: limit in: query description: Number of results per cursor. Max = 100. required: false schema: type: integer minimum: 1 maximum: 100 - name: transferIds in: query description: Array of transfer ids that are linked to the logs you desire. required: false schema: type: array items: type: string - name: types in: query description: Filters logs by log types. required: false schema: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/transfer/log/{id}': get: summary: Get a Transfer Log operationId: get-transfer-log-byId tags: - Transfer description: Get a single transfer log by its id. parameters: - name: id in: path description: Id of the transfer entity. required: true schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/brcode-payment: post: summary: Create Brcode Payments operationId: create-brcodePayment tags: - Brcode Payment description: | Use this route to pay registered brcodes generated at Stark Bank or at other financial institutions using the available balance in your Stark Bank account. NOTE:Initially, the brcode entity amount will be zero because the brcode is processed asynchronously. requestBody: required: true content: application/json: schema: type: object properties: brcode: type: string description: Brcode that describes the payment. description: type: string description: Text to be displayed in your statement. Min length = 10. taxId: type: string description: 'Receiver CPF (11 digits formatted or unformatted) or CNPJ (14 digits formatted or unformatted). Example: 012.345.678-90.' amount: type: integer description: 'If the brcode does not provide an amount, this parameter is mandatory, else it is optional. Example: 23456 (R$ 234,56).' rules: type: array items: type: string description: | List of rules for modifying brcodePayment behavior. Example: [{"key": "resendingLimit", "value": 5}] scheduled: type: string format: date-time description: Schedule the payment for a specific date. Default value is the current day. tags: type: array items: type: string description: Array of strings to tag the entity for future queries. All tags will be converted to lowercase. required: - brcode - description - taxId - amount responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' get: summary: List Brcode Payments operationId: list-brcodePayment tags: - Brcode Payment description: 'Get a list of non-deleted brcodes in chunks of at most 100. If you need smaller chunks, use the limit parameter.' parameters: - name: after in: query description: Filter entities created after this date. required: false schema: type: string format: date - name: before in: query description: Filter entities created before this date. required: false schema: type: string format: date - name: cursor in: query description: String used to get the next batch of results. Our SDKs handle this for you. required: false schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string - name: ids in: query description: List of strings to get specific entities by ids. required: false schema: type: array items: type: string - name: limit in: query description: Number of results per cursor. Max = 100. required: false schema: type: integer minimum: 1 maximum: 100 - name: status in: query description: Filter brcode payments by the specified status. required: false schema: type: string - name: tags in: query description: Filter entities that contain the specified tags. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/brcode-payment/{id}': get: summary: Get a Brcode Payment operationId: get-brcodePayment-byId tags: - Brcode Payment description: Get a single brcode by its id. parameters: - name: id in: path description: Id of the brcode entity. required: true schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' patch: summary: Update a Brcode Payment operationId: update-brcodePayment-byId tags: - Brcode Payment description: 'Update a single brcode payment, if it hasn''t been paid yet.' requestBody: required: true content: application/json: schema: type: object properties: status: type: string description: 'This can be used to cancel the payment by passing "canceled" as the status patch.' parameters: - name: id in: path description: Id of the brcode payment entity. required: true schema: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/brcode-payment/{id}/pdf': get: summary: Get a Brcode Payment PDF operationId: get-brcodePayment-byId-pdf tags: - Brcode Payment description: 'Get a brcode payment PDF receipt. You can only get a receipt for payments whose status are either success, processing or created.' parameters: - name: id in: path description: Id of the brcode payment entity required: true schema: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/brcode-payment/log: get: summary: List Brcode Payment Logs operationId: list-brcodePayment-log tags: - Brcode Payment description: Get a paged list of all brcode payment logs. A log tracks a change in the payment entity according to its life cycle. parameters: - name: after in: query description: Filter entities created after this date. required: false schema: type: string format: date - name: before in: query description: Filter entities created before this date. required: false schema: type: string format: date - name: cursor in: query description: String used to get the next batch of results. Our SDKs handle this for you. required: false schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string - name: limit in: query description: Number of results per cursor. Max = 100. required: false schema: type: integer minimum: 1 maximum: 100 - name: paymentIds in: query description: Array of payment ids linked to the desired logs. required: false schema: type: array items: type: string - name: types in: query description: Filters logs by log types. required: false schema: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/brcode-payment/log/{id}': get: summary: Get a Brcode Payment Log operationId: get-brcodePayment-log-byId tags: - Brcode Payment description: Get a single brcode payment log by its id. parameters: - name: id in: path description: Id of the log entity required: true schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/boleto-payment: post: summary: Create Boleto Payments operationId: create-boletoPayment tags: - Boleto Payment description: Use this route to pay registered boletos generated at Stark Bank or at other financial institutions using the available balance in your Stark Bank account. requestBody: required: true content: application/json: schema: type: object properties: description: type: string description: Text to be displayed in your statement. Min length = 10. taxId: type: string description: 'Receiver CPF (11 digits formatted or unformatted) or CNPJ (14 digits formatted or unformatted). Example: 012.345.678-90.' amount: type: integer description: 'Amount to be paid. If none is informed, the current boleto value will be used. Example: 23456 (= R$ 234.56)' barCode: type: string description: 'Bar code number that describes the payment. Either "line" or "barCode" parameters are required. If both are sent, they must match.' line: type: string description: 'Number sequence that describes the payment. Either "line" or "barCode" parameters are required. If both are sent, they must match.' scheduled: type: string format: date-time description: Schedule the payment for a specific date. Default value is the current day. tags: type: array items: type: string description: Array of strings to tag the entity for future queries. All tags will be converted to lowercase. required: - description - taxId - barCode - line responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' get: summary: List Boleto Payments operationId: list-boletoPayment tags: - Boleto Payment description: 'Get a list of non-deleted boleto payments in chunks of at most 100. If you need smaller chunks, use the limit parameter.' parameters: - name: after in: query description: Filter entities created after this date. required: false schema: type: string format: date - name: before in: query description: Filter entities created before this date. required: false schema: type: string format: date - name: cursor in: query description: String used to get the next batch of results. Our SDKs handle this for you. required: false schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string - name: ids in: query description: List of strings to get specific entities by ids. required: false schema: type: array items: type: string - name: limit in: query description: Number of results per cursor. Max = 100. required: false schema: type: integer minimum: 1 maximum: 100 - name: status in: query description: Filter boleto payments by the specified status. required: false schema: type: string - name: tags in: query description: Filter entities that contain the specified tags. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/boleto-payment/{id}': get: summary: Get a Boleto Payment operationId: get-boletoPayment-byId tags: - Boleto Payment description: Get a single boleto payment by its id. parameters: - name: id in: path description: Id of the boleto payment entity. required: true schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' delete: summary: Delete a Boleto Payment operationId: delete-boletoPayment-byId tags: - Boleto Payment description: | Cancel a scheduled boleto payment. You can only cancel boleto payments before they start being processed. NOTE:Payments that have already been processed can be deleted, but not cancelled. parameters: - name: id in: path description: Id of the boleto payment entity. required: true schema: type: string responses: '200': description: Successfully deleted content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/boleto-payment/{id}/pdf': get: summary: Get a Boleto Payment PDF operationId: get-boletoPayment-byId-pdf tags: - Boleto Payment description: 'Get a boleto payment PDF receipt. You can only get a receipt for payments whose status are either success, processing or created.' parameters: - name: id in: path description: Id of the boleto payment entity required: true schema: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/boleto-payment/log: get: summary: List Boleto Payment Logs operationId: list-boletoPayment-log tags: - Boleto Payment description: Get a paged list of all boleto payment logs. A log tracks a change in the payment entity according to its life cycle. parameters: - name: after in: query description: Filter entities created after this date. required: false schema: type: string format: date - name: before in: query description: Filter entities created before this date. required: false schema: type: string format: date - name: cursor in: query description: String used to get the next batch of results. Our SDKs handle this for you. required: false schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string - name: limit in: query description: Number of results per cursor. Max = 100. required: false schema: type: integer minimum: 1 maximum: 100 - name: paymentIds in: query description: Array of payment ids linked to the desired logs. required: false schema: type: array items: type: string - name: types in: query description: Filters logs by log types. required: false schema: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/boleto-payment/log/{id}': get: summary: Get a Boleto Payment Log operationId: get-boletoPayment-log-byId tags: - Boleto Payment description: Get a single boleto payment log by its id. parameters: - name: id in: path description: Id of the log entity required: true schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/utility-payment: post: summary: Create Utility Payments operationId: create-utilityPayment tags: - Utility Payment description: Use this route to pay utility bills using the available balance in your Stark Bank account. requestBody: required: true content: application/json: schema: type: object properties: description: type: string description: Text to be displayed in your statement. Min length = 10. barCode: type: string description: 'Bar code number that describes the payment. Either "line" or "barCode" parameters are required. If both are sent, they must match.' line: type: string description: 'Number sequence that describes the payment. Either "line" or "barCode" parameters are required. If both are sent, they must match.' scheduled: type: string format: date-time description: Schedule the payment for a specific date. Default value is the current day. tags: type: array items: type: string description: Array of strings to tag the entity for future queries. All tags will be converted to lowercase. required: - description - barCode - line responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' get: summary: List Utility Payments operationId: list-utilityPayment tags: - Utility Payment description: 'Get a list of non-deleted utility payments in chunks of at most 100. If you need smaller chunks, use the limit parameter.' parameters: - name: after in: query description: Filter entities created after this date. required: false schema: type: string format: date - name: before in: query description: Filter entities created before this date. required: false schema: type: string format: date - name: cursor in: query description: String used to get the next batch of results. Our SDKs handle this for you. required: false schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string - name: ids in: query description: List of strings to get specific entities by ids. required: false schema: type: array items: type: string - name: limit in: query description: Number of results per cursor. Max = 100. required: false schema: type: integer minimum: 1 maximum: 100 - name: status in: query description: Filter utility payments by the specified status. required: false schema: type: string - name: tags in: query description: Filter entities that contain the specified tags. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/utility-payment/{id}': get: summary: Get a Utility Payment operationId: get-utilityPayment-byId tags: - Utility Payment description: Get a single utility payment by its id. parameters: - name: id in: path description: Id of the utility payment entity. required: true schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' delete: summary: Delete a Utility Payment operationId: delete-utilityPayment-byId tags: - Utility Payment description: | Cancel a scheduled utility payment. You can only cancel utility payments before they start being processed. NOTE:Payments that have already been processed can be deleted, but not cancelled. parameters: - name: id in: path description: Id of the utility payment entity. required: true schema: type: string responses: '200': description: Successfully deleted content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/utility-payment/{id}/pdf': get: summary: Get a Utility Payment PDF operationId: get-utilityPayment-byId-pdf tags: - Utility Payment description: 'Get a utility payment PDF receipt. You can only get a receipt for payments whose status are either success, processing or created.' parameters: - name: id in: path description: Id of the utility payment entity required: true schema: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/utility-payment/log: get: summary: List Utility Payment Logs operationId: list-utilityPayment-log tags: - Utility Payment description: Get a paged list of all utility payment logs. A log tracks a change in the payment entity according to its life cycle. parameters: - name: after in: query description: Filter entities created after this date. required: false schema: type: string format: date - name: before in: query description: Filter entities created before this date. required: false schema: type: string format: date - name: cursor in: query description: String used to get the next batch of results. Our SDKs handle this for you. required: false schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string - name: limit in: query description: Number of results per cursor. Max = 100. required: false schema: type: integer minimum: 1 maximum: 100 - name: paymentIds in: query description: Array of payment ids linked to the desired logs. required: false schema: type: array items: type: string - name: types in: query description: Filters logs by log types. required: false schema: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/utility-payment/log/{id}': get: summary: Get a Utility Payment Log operationId: get-utilityPayment-log-byId tags: - Utility Payment description: Get a single utility payment log by its id. parameters: - name: id in: path description: Id of the log entity required: true schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/tax-payment: post: summary: Create Tax Payments operationId: create-taxPayment tags: - Tax Payment description: Use this route to pay taxes using the available balance in your Stark Bank account. requestBody: required: true content: application/json: schema: type: object properties: description: type: string description: Text to be displayed in your statement. Min length = 10. barCode: type: string description: 'Bar code number that describes the payment. Either "line" or "barCode" parameters are required. If both are sent, they must match.' line: type: string description: 'Number sequence that describes the payment. Either "line" or "barCode" parameters are required. If both are sent, they must match.' scheduled: type: string format: date-time description: Schedule the payment for a specific date. Default value is the current day. tags: type: array items: type: string description: Array of strings to tag the entity for future queries. All tags will be converted to lowercase. required: - description - barCode - line responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' get: summary: List Tax Payments operationId: list-taxPayment tags: - Tax Payment description: 'Get a list of non-deleted tax payments in chunks of at most 100. If you need smaller chunks, use the limit parameter.' parameters: - name: after in: query description: Filter entities created after this date. required: false schema: type: string format: date - name: before in: query description: Filter entities created before this date. required: false schema: type: string format: date - name: cursor in: query description: String used to get the next batch of results. Our SDKs handle this for you. required: false schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string - name: ids in: query description: List of strings to get specific entities by ids. required: false schema: type: array items: type: string - name: limit in: query description: Number of results per cursor. Max = 100. required: false schema: type: integer minimum: 1 maximum: 100 - name: status in: query description: Filter tax payments by the specified status. required: false schema: type: string - name: tags in: query description: Filter entities that contain the specified tags. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/tax-payment/{id}': get: summary: Get a Tax Payment operationId: get-taxPayment-byId tags: - Tax Payment description: Get a single tax payment by its id. parameters: - name: id in: path description: Id of the tax payment entity. required: true schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' delete: summary: Delete a Tax Payment operationId: delete-taxPayment-byId tags: - Tax Payment description: | Cancel a scheduled tax payment. You can only cancel tax payments before they start being processed. NOTE:Payments that have already been processed can be deleted, but not cancelled. parameters: - name: id in: path description: Id of the tax payment entity. required: true schema: type: string responses: '200': description: Successfully deleted content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/tax-payment/{id}/pdf': get: summary: Get a Tax Payment PDF operationId: get-taxPayment-byId-pdf tags: - Tax Payment description: 'Get a tax payment PDF receipt. You can only get a receipt for payments whose status are either success, processing or created.' parameters: - name: id in: path description: Id of the tax payment entity required: true schema: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/tax-payment/log: get: summary: List Tax Payment Logs operationId: list-taxPayment-log tags: - Tax Payment description: Get a paged list of all tax payment logs. A log tracks a change in the payment entity according to its life cycle. parameters: - name: after in: query description: Filter entities created after this date. required: false schema: type: string format: date - name: before in: query description: Filter entities created before this date. required: false schema: type: string format: date - name: cursor in: query description: String used to get the next batch of results. Our SDKs handle this for you. required: false schema: type: string - name: limit in: query description: Number of results per cursor. Max = 100. required: false schema: type: integer minimum: 1 maximum: 100 - name: paymentIds in: query description: Array of payment ids linked to the desired logs. required: false schema: type: array items: type: string - name: types in: query description: Filters logs by log types. required: false schema: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/tax-payment/log/{id}': get: summary: Get a Tax Payment Log operationId: get-taxPayment-log-byId tags: - Tax Payment description: Get a single tax payment log by its id. parameters: - name: id in: path description: Id of the log entity required: true schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/darf-payment: post: summary: Create Darf payments operationId: create-darfPayment tags: - Darf Payment description: Use this route to pay Darfs using the available balance in your Stark Bank account. requestBody: required: true content: application/json: schema: type: object properties: competence: type: string description: 'Competence month of the service. Example: ''2020-03-10''' description: type: string description: 'Text to be displayed in your statement (min. 10 characters). Example: "payment ABC"' due: type: string format: date-time description: 'Due date for payment. Example: ''2020-03-10''' fineAmount: type: integer description: 'Fixed amount due in cents for fines. Example: 234 (= R$ 2.34)' interestAmount: type: integer description: 'Amount due in cents for interest. Example: 456 (= R$ 4.56)' nominalAmount: type: integer description: 'Amount due in cents without fee or interest. Example: 23456 (= R$ 234.56)' revenueCode: type: string description: '4-digit tax code assigned by Federal Revenue. Example: "5948"' taxId: type: string description: 'Payer CPF (11 digits formatted or unformatted) or CNPJ (14 digits formatted or unformatted). Example: 012.345.678-90' referenceNumber: type: string description: 'Number assigned to the region of the tax. Example: "08.1.17.00-4"' scheduled: type: string format: date-time description: Schedule the payment for a specific date. Default value is the current day. tags: type: array items: type: string description: Array of strings to tag the entity for future queries. All tags will be converted to lowercase. required: - competence - description - due - fineAmount - interestAmount - nominalAmount - revenueCode - taxId responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' get: summary: List Darf Payments operationId: list-darfPayment tags: - Darf Payment description: 'Get a list of non-deleted Darf payments in chunks of at most 100. If you need smaller chunks, use the limit parameter.' parameters: - name: after in: query description: Filter entities created after this date. required: false schema: type: string format: date - name: before in: query description: Filter entities created before this date. required: false schema: type: string format: date - name: cursor in: query description: String used to get the next batch of results. Our SDKs handle this for you. required: false schema: type: string - name: ids in: query description: List of strings to get specific entities by ids. required: false schema: type: array items: type: string - name: limit in: query description: Number of results per cursor. Max = 100. required: false schema: type: integer minimum: 1 maximum: 100 - name: status in: query description: Filter Darfs by the specified status. required: false schema: type: string - name: tags in: query description: Filter entities that contain the specified tags. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/darf-payment/{id}': get: summary: Get a Darf Payment operationId: get-darfPayment-byId tags: - Darf Payment description: Get a single Darf payment by its id. parameters: - name: id in: path description: Id of the Darf payment entity. required: true schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' delete: summary: Delete a Darf Payment operationId: delete-darfPayment-byId tags: - Darf Payment description: | Cancel a scheduled Darf payment. You can only cancel Darf payments before they start being processed. NOTE:Payments that have already been processed can be deleted, but not cancelled. parameters: - name: id in: path description: Id of the Darf payment entity. required: true schema: type: string responses: '200': description: Successfully deleted content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/darf-payment/{id}/pdf': get: summary: Get a Darf Payment PDF operationId: get-darfPayment-byId-pdf tags: - Darf Payment description: 'Get a Darf payment PDF receipt. You can only get a receipt for payments whose status are either success, processing or created.' parameters: - name: id in: path description: Id of the Darf payment entity required: true schema: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/darf-payment/log: get: summary: List Darf Payment Logs operationId: list-darfPayment-log tags: - Darf Payment description: Get a paged list of all Darf payment logs. A log tracks a change in the payment entity according to its life cycle. parameters: - name: after in: query description: Filter entities created after this date. required: false schema: type: string format: date - name: before in: query description: Filter entities created before this date. required: false schema: type: string format: date - name: cursor in: query description: String used to get the next batch of results. Our SDKs handle this for you. required: false schema: type: string - name: limit in: query description: Number of results per cursor. Max = 100. required: false schema: type: integer minimum: 1 maximum: 100 - name: paymentIds in: query description: Array of payment ids linked to the desired logs. required: false schema: type: array items: type: string - name: types in: query description: Filters logs by log types. required: false schema: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/darf-payment/log/{id}': get: summary: Get a Darf Payment Log operationId: get-darfPayment-log-byId tags: - Darf Payment description: Get a single Darf payment log by its id. parameters: - name: id in: path description: Id of the log entity required: true schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/payment-preview: post: summary: Create a Payment Preview operationId: create-paymentPreview tags: - Payment Preview description: Create a payment preview to get information from a payment. requestBody: required: true content: application/json: schema: type: object properties: id: type: string description: 'Main identification of the payment. This should be the BR Code for Pix payments and lines or bar codes for payment slips. Example: ''34191.09008 63571.277308 71444.640008 5 81960000000062''.' scheduled: type: string format: date-time description: 'Intended payment date. Right now, this parameter only has effect on BrcodePreviews. Example: ''2020-03-10''' required: - id responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/payment-request: post: summary: Create Payment Requests operationId: create-paymentRequest tags: - Payment Request description: Use this route to create new payment requests in our Web Banking approval flow. requestBody: required: true content: application/json: schema: type: object properties: centerId: type: string description: 'Unique ID of the targeted cost center. You can check out the cost center ID directly on its approval section on our Web Banking. Example: 5656565656565656' payment: type: string description: 'JSON specifying the requested payment. The payment JSON is the same as those passed in the requests that create the payments without going through the approval flow (see transfer and boleto payment). The only exception is that the "scheduled" parameter cannot be sent on these JSONs, as the PaymentRequest "due" parameter already serves this purpose. The SDKs also accept their respective objects instead of JSONs.' due: type: string format: date-time description: 'Suggested payment date. This parameter may be altered by the controllers of the cost center. Default is today. Example: "2020-08-01"' tags: type: array items: type: string description: Array of strings to tag the entity for future queries. All tags will be converted to lowercase. type: type: string description: 'Payment type. The SDKs will take care of this parameter for you if you use their specialized objects. But if you pass a dictionary in payment parameter you need to inform its type. Examples: "transfer", "brcode-payment", "boleto-payment", "utility-payment".' required: - centerId - payment - type responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' get: summary: List Payment Requests operationId: list-paymentRequest tags: - Payment Request description: Here you can list and filter payment requests created by the requesting user. We return it paged. parameters: - name: centerId in: query description: 'Unique ID of the targeted cost center. You can check out the cost center ID directly on its approval section on our Web Banking. Example: 5656565656565656' required: true schema: type: string - name: after in: query description: Filter entities created after this date. required: false schema: type: string format: date - name: before in: query description: Filter entities created before this date. required: false schema: type: string format: date - name: cursor in: query description: String used to get the next batch of results. Our SDKs handle this for you. required: false schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string - name: ids in: query description: List of strings to get specific entities by ids. required: false schema: type: array items: type: string - name: limit in: query description: Number of results per cursor. Max = 100. required: false schema: type: integer minimum: 1 maximum: 100 - name: sort in: query description: 'Sort order considered in the response. Options are: "created", "-created", "updated" and "-updated". "-" means descending order. Default is "-created".' required: false schema: type: string - name: status in: query description: 'Filter payment requests by the specified status. Example: success' required: false schema: type: string - name: tags in: query description: Filter entities that contain the specified tags. required: false schema: type: array items: type: string - name: type in: query description: 'Filters payment requests by the type inferred from the payment parameter, if it is not a dictionary. Example: boleto-payment' required: false schema: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/webhook: post: summary: Create a Webhook operationId: create-webhook tags: - Webhook description: 'Here you can register a new webhook URL. The subscriptions refer to which kinds of logs will be sent to the webhook URL being registered. The subscriptions must be in transfer, boleto, boleto-payment, utility-payment, brcode-payment, boleto-holmes, deposit, darf-payment, payment-request or invoice.' requestBody: required: true content: application/json: schema: type: object properties: subscriptions: type: array items: type: string description: 'Array of subscriptions. Possible values: "deposit", "invoice", "brcode-payment", "transfer", "utility-payment", "boleto", "boleto-payment", "darf-payment", "payment-request" or "boleto-holmes"' url: type: string description: The server URL that will receive the Webhook Events. required: - subscriptions - url responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' get: summary: List Webhooks operationId: list-webhook tags: - Webhook description: 'Get a list of non-deleted webhooks in chunks of at most 100. If you need smaller chunks, use the limit parameter.' parameters: - name: cursor in: query description: String used to get the next batch of results. Our SDKs handle this for you. required: false schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string - name: limit in: query description: Maximum number of Webhooks to be retrieved. Max = 100. required: false schema: type: integer minimum: 1 maximum: 100 responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/webhook/{id}': get: summary: Get a Webhook operationId: get-webhook-byId tags: - Webhook description: Get a single Webhook by its id. parameters: - name: id in: path description: Id of the webhook entity required: true schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' delete: summary: Delete a Webhook operationId: delete-webhook-byId tags: - Webhook description: | Delete a single Webhook subscription. NOTE: This action cannot be undone. parameters: - name: id in: path description: Id of the Webhook to be canceled. required: true schema: type: string responses: '200': description: Successfully deleted content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/event: get: summary: List Events operationId: list-event tags: - Event description: 'Get a list of non-deleted events in chunks of at most 100. If you need smaller chunks, use the limit parameter.' parameters: - name: after in: query description: 'Date filter for Events created only after a specific date. Example: "2022-01-20"' required: false schema: type: string format: date - name: before in: query description: 'Date filter for Events created only before a specific date. Example: "2022-02-20"' required: false schema: type: string format: date - name: cursor in: query description: String used to get the next batch of results. Our SDKs handle this for you. required: false schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string - name: isDelivered in: query description: 'If false, only gets Events that haven''t been delivered. If true, only gets Events that have already been delivered.' required: false schema: type: string - name: limit in: query description: Maximum number of Events to be retrieved. Max = 100. required: false schema: type: integer minimum: 1 maximum: 100 responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/event/{id}': get: summary: Get an Event operationId: get-event-byId tags: - Event description: Get a single Event by its id. parameters: - name: id in: path description: Unique id of the event entity. required: true schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' delete: summary: Delete an Event operationId: delete-event-byId tags: - Event description: | Delete a single Event from the event list. Note: This action cannot be undone. parameters: - name: id in: path description: Id of the Event entity to be canceled. required: true schema: type: string responses: '200': description: Successfully deleted content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' patch: summary: Update an event operationId: update-event-byId tags: - Event description: 'The only information you can update in an Event is the isDelivered property. This can be useful when, after experiencing server downtime on your side, you list all events with isDelivered=false, process them, and then set them as delivered to stabilize your operations.' requestBody: required: true content: application/json: schema: type: object properties: isDelivered: type: string description: 'Bool signaling if the Event has or hasn''t been successfully delivered.' required: - isDelivered parameters: - name: id in: path description: 'Id of the event entity. Example: "5719405850615809"' required: true schema: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/event/attempt: get: summary: List failed Webhook Event delivery attempts operationId: list-event-attempt tags: - Event Attempt description: Get information on failed webhook event delivery attempts. parameters: - name: after in: query description: Filter entities created after this date. required: false schema: type: string format: date - name: before in: query description: Filter entities created before this date. required: false schema: type: string format: date - name: cursor in: query description: String used to get the next batch of results. Our SDKs handle this for you. required: false schema: type: string - name: eventIds in: query description: 'List of Event ids to filter attempts. Example: ["5656565656565656", "4545454545454545"]' required: false schema: type: array items: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string - name: limit in: query description: Number of results per cursor. Max = 100. required: false schema: type: integer minimum: 1 maximum: 100 - name: webhookIds in: query description: 'list of Webhook ids to filter attempts. Example: ["5656565656565656", "4545454545454545"]' required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/event/attempt/{id}': get: summary: Get an Event Attempt operationId: get-event-attempt-byId tags: - Event Attempt description: Get a single event attempt by its id. parameters: - name: id in: path description: Unique id of the event attempt entity. required: true schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/dict-key: get: summary: List your DICT Keys operationId: list-dictKey tags: - Pix Key description: 'Get a list of the DICT Keys you own (or have owned) in chunks of at most 100. If you need smaller chunks, use the limit parameter.' parameters: - name: after in: query description: Filter entities created after this date. required: false schema: type: string format: date - name: before in: query description: Filter entities created before this date. required: false schema: type: string format: date - name: cursor in: query description: String used to get the next batch of results. Our SDKs handle this for you. required: false schema: type: string - name: fields in: query description: List of strings to filter response JSON keys. Not available in the SDKs. required: false schema: type: array items: type: string - name: ids in: query description: List of strings to get specific entities by ids. required: false schema: type: array items: type: string - name: limit in: query description: Number of results per cursor. Max = 100. required: false schema: type: integer minimum: 1 maximum: 100 - name: status in: query description: Filter dicts by the specified status. required: false schema: type: string - name: type in: query description: 'DICT Key type. Options are: "cpf", "cnpj", "phone", "email" or "evp".' required: false schema: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' '/v2/dict-key/{id}': get: summary: Get a DICT Key operationId: get-dictKey-byId tags: - Pix Key description: | Get a single DICT key by its id. This method includes keys you do not own. You can use it to retrieve a key's information before creating Transfers. Note: Try to avoid looking up DICT keys without sending transfers afterwards, since Bacen's system will block users making too many standalone requests in a short timespan. Invalid key searches also count towards this block. Note: The encrypted parameters can be used to create a transfer without the need to decrypt. parameters: - name: id in: path description: 'Id of the dict key. Examples: "jon.snow@starkbank.com", "012.345.678-90"' required: true schema: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/institution: get: summary: List Institutions operationId: list-institution tags: - Institutions description: Get a list of institutions. parameters: - name: limit in: query description: Number of results per cursor. Max = 100. required: false schema: type: integer minimum: 1 maximum: 100 - name: search in: query description: 'Part of the institution name to be searched. Example: "stark"' required: false schema: type: string - name: spiCodes in: query description: 'List of SPI (Pix) codes to be searched. Example: ["20018183"]' required: false schema: type: array items: type: string - name: strCodes in: query description: 'List of STR (Ted) codes to be searched. Example: ["260"]' required: false schema: type: array items: type: string responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' /v2/public-key: get: summary: List Public Keys operationId: list-publicKey tags: - Public Key description: Get a list of the Stark Bank public keys ordered by creation date from newest to oldest. The most recent public key is the one currently in use by the API. The older keys can be used to verify older messages. responses: '200': description: Successful operation content: application/json: schema: type: object '400': description: Client error content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server error content: application/json: schema: $ref: '#/components/schemas/Errors' tags: - name: Workspace description: | Workspaces are bank accounts. They have independent balances, statements, operations and permissions. The only property that is shared between your workspaces is the link they have to your organization, which carries your basic information, such as tax ID, name, etc... The main reason for automating the creation of multiple Workspaces is to use our infrastructure to divide your own customers into different buckets, setting them up with isolated balances and statements. - name: Balance description: | The balance entity holds the total funds available in your workspace and can be calculated as the sum of its transactions (cash-in + cash-out). Therefore, you can also interpret Transactions as balance change logs. - name: Transaction description: | Since Stark Bank is centralized, we have a private ledger to keep track of all transactions. It's important to understand that every financial operation in Stark Bank generates a transaction that is registered in our ledger. You may directly generate a Transaction when you transfer money between workspaces in Stark Bank. Other times, we generate the Transaction for you, when you make a Transfer, pay a Boleto or receive money from a paid Boleto, for example. - name: Invoice description: | The Invoice resource is used to request payments from customers. Your customer can pay it by scanning the Pix QR Code or making a deposit to the indicated account number. You can set custom fields as fine, interest, overdue date and expiration date, for a complete charge method, much better than boleto. If you're used to our Boleto resource, you will feel pretty familiar with the Invoice flow. In this section, we will teach you how to create and manage your Pix invoices. You can also split the Invoice between different receivers, you need to create a Split Receiver, and add the receiver into the Splits array. - name: Dynamic Brcode description: | Note:This is a basic Pix QR Code solution for one time payment. For a complete Pix QR Code receivable, check the Invoice resource. When a Dynamic Brcode is paid, a Deposit is created with the tags parameter containing the string "dynamic-brcode/" followed by the Dynamic Brcode's uuid "dynamic-brcode/{uuid}" for conciliation. - name: Deposit description: 'Deposits represent passive cash-ins received by your account from external transfers or payments. In this section, we will teach you how to manage your Deposits.' - name: Boleto description: | A boleto is a method you can use to charge your customers or load your Stark Bank account. Here we will teach you how to create and manage boletos. You can also split a Boleto between different receivers, you need to create a Split Receiver, and add the receiver into the Splits array. - name: Boleto Holmes description: | Honoring the famous Sherlock Holmes, this feature allows your application to investigate updated boleto status according to CIP in less than an hour. Here we will teach you how to create and manage your Boleto Holmes. Ideally, since results are asynchronous, you should register a Boleto Holmes webhook subscription in order to receive the investigation results instead of polling. - name: Split description: The Split resource is used to split an Invoice or Boleto between different receivers. - name: Split Receiver description: You can create a Receiver to an Invoice or Boleto split by using the Split Receiver resource. - name: Split Profile description: The Split Profile resource is used to configure the behavior of split operations. - name: Invoice Pull Subscription description: | An Invoice Pull Subscription is a recurring payment agreement between a payer and a receiver, authorized through the Pix Automatic infrastructure. Once active, it allows the receiver to periodically trigger automatic debits by issuing invoices that match the agreed conditions such as amount, frequency, and billing cycle without requiring new consent for each transaction. You can use asynchronous webhooks to monitor status changes. - name: Invoice Pull Request description: | An Invoice Pull Request is a command sent to the payer's bank to trigger the automatic debit of a previously issued invoice linked to an active Invoice Pull Subscription. It confirms the receiver's intent to collect the agreed amount within the current billing cycle and initiates the settlement process through the Pix infrastructure. You can use asynchronous webhooks to monitor status changes. - name: Merchant Session description: | The Merchant Session resource can be created by a merchant and used by the card holder in order to collect their card data without having to handle it on the merchant's side. The card data can be sent directly from a browser or app to Stark Bank's API using the Merchant Session Purchase route. - name: Merchant Purchase description: | The Merchant Purchase resource can be used to charge customers with credit or debit cards. If a card hasn't been used before, a Merchant Session Purchase must be created and approved with that specific card before it can be used directly in a Merchant Purchase. - name: Merchant Card description: | The Merchant Card resource stores information about cards used in approved purchases. These cards can be used in new purchases without the need to create a new session. - name: Merchant Installment description: | Merchant Installments are created for every installment in a purchase. These resources will track its own due payment date and settlement lifecycle. - name: Transfer description: | Transfers are used to send money to any bank account in Brazil using the Ted or Pix systems. Here we will show you how to create and manage them. - name: Brcode Payment description: Here we will teach you how to create and manage brcode payments. - name: Boleto Payment description: Here we will teach you how to create and manage boleto payments. - name: Utility Payment description: 'Here we will teach you how to create and manage utility payments, such as electricity and water bills.' - name: Tax Payment description: 'Here we will explain how to create and manage tax payments, such as ISS and DAS.' - name: Darf Payment description: Here we will explain how to manually pay DARFs without bar codes. - name: Payment Preview description: | A Payment Preview is used to get information from multiple types of payment to confirm any information before actually paying. If the 'scheduled' parameter is not informed, today will be assumed as the intended payment date. Right now, the 'scheduled' parameter only has effect on BrcodePreviews. This resource is able to preview the following types of payment: "brcode-payment", "boleto-payment", "utility-payment" and "tax-payment" - name: Payment Request description: | Here we will teach you how to create and manage your payment requests. The payment request is the main element of our approval flow, which can be checked out by logging into our Web Banking. The requests are bound to their respective cost centers and represent requests to execute specific payments, which can be transfers, boleto payments, etc. Expect more payment options to be introduced! - name: Webhook description: | You can create webhook subscriptions to receive events whenever a new log is created. We send the event by making a POST request to your endpoint URL. The event will be delivered with a digital signature (headers["Digital-Signature"]), which can be verified using the Stark Bank public key. This key is recoverable by a GET request to /v2/public-key. If your endpoint URL does not return a 200 status, the webhook service will try again at most three times. The interval between each attempt is 5 min, 30 min and finally 120 min. In case the event cannot be delivered after those three attempts, we will stop trying to deliver the message. The event sent to the endpoint URL has the structure shown to the right, where the content of the log sent will depend on the event subscription. NOTE 1: Registered webhooks will only work for services used in that same version. For example, if you create a transfer in v2, its logs will only trigger v2 webhooks and v1 webhooks would ignore its events. NOTE 2: Even if you use Webhook, we strongly recommend that you create a daily task to get all undelivered events and set them as delivered. It's important to add redundancy and resilience to your system, preventing you from having outdated information just in case your system is temporarily unable to receive our Webhook events. - name: Event description: | Every time a log is created, a corresponding event will be generated and sent to you by webhook, if the appropriate subscription was set. Therefore, the event represents an occurrence in your workspace. NOTE: All the events have a log property containing an entity log. The nature of the log, however, may change according to the subscription that triggered the event. For example, if the subscription is transfer, the log in the event will be a TransferLog. If the subscription is boleto, the log in the event will be a BoletoLog, and so on. - name: Event Attempt description: 'When an Event delivery fails, an event attempt will be registered. It carries information meant to help you debug event reception issues.' - name: Pix Key description: | The Pix keys are saved in the DICT (Diretório de Identificadores de Contas Transacionais), the centralized Pix service managed by Bacen (Brazilian Central Bank) that allows you to search for transactional accounts with convenient addressing keys. The types of keys currently available are CPF, CNPJ, phone number, e-mail and EVP (random UUID). In this section, we will teach you how to manage DICT keys. Note: Whenever a Workspace is created, an EVP (random) DICT key is created and associated with it. This is done in order to ensure the safety of the Invoice service, since it requires an active DICT Key to work. - name: Institutions description: An Institution is used to query institutions registered by the Brazilian Central Bank for Pix and Ted transactions. - name: Public Key description: 'Some of our responses will be signed using our own private key, such as the messages we send by webhook. In order to verify that it was really us that generated the message, you can get our public key and verify the provided signature and content.' x-tagGroups: - name: Business Account tags: - Workspace - Balance - Transaction - name: Cash Receivables tags: - Invoice - Dynamic Brcode - Deposit - Boleto - Boleto Holmes - Split - Split Receiver - Split Profile - name: Cash Subscription tags: - Invoice Pull Subscription - Invoice Pull Request - name: Card Receivables tags: - Merchant Session - Merchant Purchase - Merchant Card - Merchant Installment - name: Bill Payments tags: - Transfer - Brcode Payment - Boleto Payment - Utility Payment - Tax Payment - Darf Payment - Payment Preview - Payment Request - name: Others tags: - Webhook - Event - Event Attempt - Pix Key - Institutions - Public Key components: schemas: Error: type: object properties: code: type: string description: Error code string message: type: string description: Human-readable error message Errors: type: object properties: errors: type: array items: $ref: '#/components/schemas/Error' securitySchemes: digitalSignature: type: apiKey name: Digital-Signature in: header description: ECDSA digital signature for request authentication security: - digitalSignature: []